1

我有以下格式的日期:

Wed Jul 17 2013 13:00:00 GMT-0700 (PDT)

谁能告诉我如何解析日期

Wed Jul 17 2013

并在不使用字符串函数的情况下超时

1:00pm
4

4 回答 4

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 。

于 2013-07-06T07:35:38.710 回答
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();

这是一个很好的起点:http ://www.w3schools.com/jsref/jsref_obj_date.asp

于 2013-07-06T07:11:35.767 回答
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));
于 2013-07-06T07:14:51.123 回答
0

这里是学习 javascript 中日期函数的绝佳参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

于 2013-07-06T08:14:18.560 回答