由于语言环境支持,我使用https://github.com/abritinthebay/datejs/进行日期格式设置。但是,如果没有年份,是否无法获得完整的约会时间?
示例
输入日期:2014/09/20 20:00:00
输出日期:09/20 20:00
它必须尊重区域设置!
答案 0 :(得分:0)
console.log(new Date().toLocaleString('en-En',{weekday: "long", month: "long", day: "numeric"}))
您可以根据需要更改此选项。
答案 1 :(得分:0)
从ES2015开始,您可以跳过第一个参数并仅设置'options'参数,这样将应用语言环境:
new Date().toLocaleString(undefined, {
month: "short", day: "numeric",
hour: "numeric", minute: "numeric", second: "numeric"
}) // "Jul 11, 5:50:09 PM"
我没有找到删除日期和时间之间逗号的方法。在这种情况下,可以使用字符串格式:
const dateTime = new Date();
const datePart = `${dateTime.toLocaleDateString(undefined, {month: "short", day: "numeric"})}`;
const timePart = `${dateTime.toLocaleTimeString()}`;
const result = `${datePart} ${timePart}`;
// "Jul 11 5:57:10 PM"
答案 2 :(得分:-1)
要使用Date.js将日期格式化为月/日小时:分钟,您可以使用格式' MM / DD HH:mm'来调用 toString 得到所有值的两位数,例如:
console.log(new Date().toString('MM/dd HH:mm'));

<script src="https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
&#13;
尝试确定用户期望看到的格式是非常有问题的,无论它是否被称为&#34; culture&#34;,&#34; locale&#34;或只是&#34;偏好&#34;。 Javascript无法访问系统设置,浏览器也无法显示它们。您可以尝试根据 Date.prototype.toLocaleString 的输出进行猜测,但这完全取决于实现,并且不一定符合用户首选项。
一种常见的方法是使用明确的格式,因此用户偏好并不重要,例如
console.log(new Date().toString('dd-MMM HH:mm'));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
&#13;
另一种方法是使用明确的默认格式,然后允许用户从一些支持的格式中进行选择并存储首选项。
还有内置的Date.prototype.toLocaleString,这是非常不可靠的,但有些浏览器支持可选的ECMA-402 Intl formatting options。它作为一个格式化程序非常普通,所以如果有更好的工作库可以推荐它,例如。
var options = {
month: 'short',
day : '2-digit',
hour : '2-digit',
minute:'2-digit'
};
// Browser dependent, something like en-us: Jan 21, 8:39 AM
console.log('en-us: ' + new Date().toLocaleString('en-us',options))
// Browser dependent, something like en-gb: 21 Jan, 08:39
console.log('en-gb: ' + new Date().toLocaleString('en-gb',options))
&#13;
另一种方法是编写自己的解析器和格式化程序,它可以满足您的需求。如果您只需要支持一种或两种格式,那就非常简单,例如
// input format yyyy/mm/dd hh:mm:ss
function parseDateString(ds) {
var d = ds.split(/\D+/);
return new Date(d[0], --d[1], d[2], d[3], d[4], d[5]);
}
// Return date string as mm/dd hh:mm
function formatDate(d) {
function z(n) {
return (n < 10 ? '0' : '') + n
}
return z(d.getMonth() + 1) + '/' + z(d.getDate()) +
' ' + z(d.getHours()) + ':' + z(d.getMinutes());
}
console.log(formatDate(parseDateString('2014/09/20 20:00:00'))); // 09/20 20:00
&#13;
因此,您可以使用少于十几行代码替换整个库。 : - )