2

是否有任何简单的解决方案可以像这样翻译 unix 时间戳:

1350664800

变成人类可读的日期,例如:

10/19/2012 11:40 AM

?

我正在警告 jQuery UI日期选择器(带有datetimepicker 插件),以便它选择并显示“人类”日期,将 unix 日期发送到服务器,然后在打开时将其转换回“人类日期”。我有这个功能的翻译:

        function unixTranslate() {
            $('input[name=valueTextField]').each(function () {
                var unixTimestamp =  ($(this).datetimepicker("getDate").getTime() / 1000) + 3600;
                $(this).attr('title', unixTimestamp);          
             });
    }

它从 datetimepicker 小部件输出正确的数字,但我不确定如何将其翻译回来。

编辑

好的,所以我将它转换回 JS 日期对象:

   var myDate = new Date(unixTimestamp * 1000);
        alert(myDate);

但是,现在我在解析它以使其看起来像我想要的样子时遇到了问题。任何人都可以帮忙吗?

4

2 回答 2

2

像这样的东西(有点乱)应该可以完成工作:

var date = new Date(unixTimestamp * 1000),
//generate formatted string
formatted = (date.getMonth()+1) + '/' + date.getDate() + '/' + date.getFullYear() + " " + (date.getUTCHours() > 12 ? date.getUTCHours()-12 : date.getUTCHours()) + ":" + date.getUTCMinutes() + " " + (date.getUTCHours() >= 12 ? 'PM' : 'AM');
于 2012-10-19T16:21:40.263 回答
0

You can also do

var date = new Date(unixTimeStamp * 1000);
alert(date.toLocaleString());
于 2013-05-13T12:02:59.850 回答