我如何以javascript格式格式化日期:June 2, 2013, 1:05 p.m.
以下是相关链接,但基于Date()
,我仍然无法获得这种确切的格式。 http://www.webdevelopersnotes.com/tips/html/10_ways_to_format_time_and_date_using_javascript.php3
答案 0 :(得分:1)
答案 1 :(得分:1)
答案 2 :(得分:1)
为什么不编写一个函数来获取日期的各个位置,return
一个 Object ,它可以让你像字符串连接一样轻松地构建一个字符串对象属性。
以下示例将始终以UTC时间为基础
var easyDate = (function () {
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
thstndrd = ['th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th'];
return function (d) {
var dow = d.getUTCDay(),
dom = d.getUTCDate(),
moy = d.getUTCMonth(),
y = d.getUTCFullYear(),
h = d.getUTCHours(),
m = d.getUTCMinutes(),
s = d.getUTCSeconds();
return {
dom: '' + dom,
th: thstndrd[dom % 10],
day: days[dow],
moy: '' + (moy + 1),
month: months[moy],
year: '' + y,
ampm: h < 12 ? 'a.m.' : 'p.m.',
hh: h < 10 ? '0' + h : '' + h,
sh: '' + (h % 12 || 12),
mm: m < 10 ? '0' + m : '' + m,
ss: s < 10 ? '0' + s : '' + s,
};
};
}());
var o = easyDate(new Date());
// Object {dom: "2", th: "nd", day: "Sunday", moy: "6", month: "June"…}
o.month + ' ' + o.dom + ', ' + o.sh + ':' + o.mm + ' ' + o.ampm;
// "June 2, 8:43 p.m."
答案 3 :(得分:0)
在w3schools,您可以找到完整的reference to Javascript's Date object
然后你可以使用这些方法组合成你喜欢的字符串。
var d = new Date();
d.getHours() + ":" + ...
没有获取月份名称的方法,您需要获取号码并创建一个开关。
小时为24小时格式,因此您必须转换并计算它是am
还是pm
。
您可以使用getDate()
和getFullYear()
<强>参考强>