将DateTimePicker转换为Unix,然后再返回

时间:2012-10-19 15:44:14

标签: jquery jquery-ui-datepicker datetimepicker unix-timestamp

有没有简单的解决方案来翻译像这样的unix时间戳:

1350664800

进入人类可读的日期,如:

10/19/2012 11:40 AM

我正在处理警告jQuery UI datepicker(使用datetimepicker addon),以便它选择并显示“人类”日期,将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);

然而,现在我遇到了解析它的问题,使它看起来像我想要的。有人可以帮忙吗?

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

您也可以

var date = new Date(unixTimeStamp * 1000);
alert(date.toLocaleString());