我的日期格式如下:
Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)
任何人都可以告诉我如何解析日期
Wed Jul 17 2013
并且不使用字符串函数的时间
1:00pm
答案 0 :(得分:1)
最简单的方法之一是确保你的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();
答案 1 :(得分:1)
您可以使用日期字符串构造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));
答案 2 :(得分:1)
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。
答案 3 :(得分:0)
这里有很好的参考资料来学习javascript https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
中的日期函数