0

我正在尝试确定此日期的格式。我在 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() 虽然我确实得到了同一天 - 那么细微的差异来自哪里,我如何弥补它们或绕过它们?

4

3 回答 3

1

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

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

于 2013-09-10T19:34:14.983 回答
1

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

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

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

$datePickerValue = 1379998800000/1000;
$date = date("y-m-d H:m:s", $datePickerValue);
echo $date;
于 2013-09-10T19:37:30.667 回答
1

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

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

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

于 2013-09-10T19:41:30.910 回答