识别此日期格式(时间戳)

时间:2013-09-10 19:32:41

标签: php jquery wordpress datepicker timestamp

我正在尝试确定如何格式化此日期。我在Wordpress中的Tablesorter中使用jQuery datepicker。日期如此:

Actual Date - October 13 2013
Datpicker   - 1381640400000
Str To Time - 1381622400

Actual Date - Setpember 11 2013
Datpicker   - 1378875600000
Str To Time - 1378857600

Actual Date - Setpember 24 2013
Datpicker   - 1379998800000
Str To Time - 1379980800

我正在将Wordpress发布日期转换为时间戳,因此我的Tablesorter中的Datepicker可以对该时间戳进行排序,但与datepicker相比,StrToTime会返回稍微偏离的时间。

我的Wordpress时间格式是:

UTC+0
September 10, 2013
7:22 pm
Monday

有人认出上面的时间戳/知道我怎么能得到那个确切的标记吗?

编辑

当我除以1000时,它几乎成功了,但仍有轻微的差异。当我使用date()虽然我确实得到了同一天 - 那么细微差别来自何处以及如何弥补它们或绕过它们?

3 个答案:

答案 0 :(得分:1)

JavaScript以毫秒为单位返回时间戳。 PHP以秒为单位返回时间戳。

将1,000除以/倍,以获得PHP / JavaScript之间的适当时间戳。

答案 1 :(得分:1)

strtotime()函数只是在DatePicker包含的末尾省略了额外的'0'。

这些数字是自EPOCH以来的UNIX时间戳或秒。将值除以1000以获得正确的时间戳。

您可以将其转换为SQL友好的可读格式,如下所示:

$datePickerValue = 1379998800000/1000;
$date = date("y-m-d H:m:s", $datePickerValue);
echo $date;

答案 2 :(得分:1)

您可以在DatePicker中使用timeFormat选项,并将其设置为使用秒而不是毫秒:

$(function() {
$( "#datepicker" ).datepicker({
  //altField: "#alternate",
  timeFormat: 'hh:mm:ss',
});
});

但你不应该相信客户的时区。没有一种可靠的方法,永远不会有。始终使用服务器端解决方案来处理时间/日期。利用PHP的内置函数和DateTime类。