我有以下格式的日期:
Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)
谁能告诉我如何解析日期
Wed Jul 17 2013
并在不使用字符串函数的情况下超时
1:00pm
我有以下格式的日期:
Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)
谁能告诉我如何解析日期
Wed Jul 17 2013
并在不使用字符串函数的情况下超时
1:00pm
var ms = Date.parse(new Date("Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)"));
var curr_date = ms.getDate();
var curr_month = ms.getMonth() + 1; //Months are zero based
var curr_year = ms.getFullYear();
var hours = ms.getHours();
var mins = ms.getMinutes();
suf = (hours >= 12)? 'pm' : 'am';
hours = hours % 12;
document.write(curr_date + "-" + curr_month + "-" + curr_year + " " + hours + ":" + min + " " + suffix);
也可以尝试使用moment.js,您可以根据需要格式化 dateTime 。
最简单的方法之一是确保您的 LOCALES 设置正确,这允许您执行以下操作:
var myStrDate = 'Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)';
var myDate = Date.parse(myStrDate);
var myDateOnly = myDate.toLocaleDateString();
var myTimeOnly = myDate.toLocaleTimeString();
这是一个很好的起点:http ://www.w3schools.com/jsref/jsref_obj_date.asp
您可以使用日期字符串构造一个Date
对象,并结合其他函数来获得所需的输出。dayname
() 返回日期名称,monthname
() 返回三个字母的月份名称。
我已经用于console.info()
输出结果 -alert()
如果合适,可以用作替代方法。
function dayname(d)
{
var names = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri","Sat" ];
return names[d.getDay()];
}
function monthname(d)
{
var names = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
return names[d.getMonth()];
}
// construct new date object passing date string as parameter
var d = new Date("Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)");
console.info(dayname(d) + ' ' + monthname(d) + ' ' + d.getDate() + ' ' + d.getFullYear());
对于时间,这个gettime
() 函数检查小时以正确输出 am 或 pm,以及正确的格式 -:
function gettime(d)
{
var ampm = "am";
var hour = d.getHours();
var mins = d.getMinutes();
if (hour >= 12)
{
hour = hour - 12;
ampm = "pm";
}
if (hours < 10)
hours = "0" + hours;
if (mins < 10)
mins = "0" + mins;
return hour + ":" + mins + ampm;
}
console.info(gettime(d));
这里是学习 javascript 中日期函数的绝佳参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date