HTML
<input type="datetime-local" onblur="window.setValue(this.value)" />
JS
window.setValue = function (val) {
console.log(val);
}
上面的输出是1991-03-02T00:01
,如何获得确切的值?与03/02/1991 12:01 AM
一样。
答案 0 :(得分:0)
function formatDate(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var format = hours < 12 ? 'am' : 'pm';
hours = hours % 12;
hours = hours ? hours : 12; // making 0 a 12
minutes = minutes < 10 ? '0'+minutes : minutes;
var time = hours + ':' + minutes + ' ' + format;
return date.getMonth()+1 + "/" + date.getDate() + "/" + date.getFullYear() + " " + time;
}
var date = new Date();
var output = formatDate(date);
alert(output);
答案 1 :(得分:0)
使用javascript非常容易,如@chrana所示。还有一些库使用javascript的本地Date
对象并允许格式化,moments.js
就是其中之一。我也一直在开发一个库,它也允许使用标准CLDR notation
格式化日期,但不依赖于Date
,而是所有内容都是用纯数学完成的,用于精确的天文学约会。
您显示的格式与标准美国短日期非常相似,但您没有,
03/02/1991, 12:01 AM
但是使用我的库和任何使用CLDR表示法的库,可以这样做。
MM/dd/Y h:mm a
require.config({
paths: {
'astrodate': '//rawgit.com/Xotic750/astrodate/master/lib/astrodate'
}
});
require(['astrodate'], function (AstroDate) {
"use strict";
var date = new AstroDate('1991-03-02T00:01');
document.body.appendChild(document.createTextNode(date.format('MM/dd/Y h:mm a')));
});
&#13;
<script src="http://requirejs.org/docs/release/2.1.8/minified/require.js"></script>
&#13;