date.valueOf () JavaScript 与 PHP 等价的方法
Equivalent of method date.valueOf () JavaScript with PHP
我在 JavaScript 中有这个脚本:
var dt = new Date();
var intDt = dt.valueOf();
console.log(intDt); // 1504100049524
我想将其转换为 PHP,但令我惊讶的是结果并不相同。
这是我的 PHP 脚本:
$dt = date(DATE_RFC2822);
$intDt = strtotime($dt);
echo($intDt); //1504100049
我需要这个来计算月相、分数和角度。
月亮的相位、分数和角度的微积分在我的 js 脚本中运行良好。但是我的 PHP 结果与 JavaScript 不同。
PHP 的时间函数 return 自 unix 纪元以来的秒数,而不是像 JS 那样的毫秒数。您要么需要将 JS 时间除以 1000 并丢弃余数,要么将 PHP 时间乘以 1000。可以使用将第二个参数设置为 true 的 microtime,但它只会检索当前时间。
PHP 的 getTimestamp()
将为您提供 UNIX 时间戳,即自 1970 年 1 月 1 日以来 秒 的数量。
更多信息在这里:Unix Time
Javascript valueOf()
将为您提供自同一日期以来的 毫秒 数。
更多信息:Date.prototype.valueOf()
考虑到这些,下面是 javascript 中的一个片段:
var jsdt = new Date('2018-08-18')
undefined
jsdt.valueOf()
1534550400000
下面是 PHP 中的 "same" 的操作方法:
$external = "08/18/2018 00:00:00";
$format = "m/d/Y H:i:s";
$dateobj = DateTime::createFromFormat($format, $external);
echo $dateobj->getTimestamp()*1000; // 1534550400000
我在 JavaScript 中有这个脚本:
var dt = new Date();
var intDt = dt.valueOf();
console.log(intDt); // 1504100049524
我想将其转换为 PHP,但令我惊讶的是结果并不相同。 这是我的 PHP 脚本:
$dt = date(DATE_RFC2822);
$intDt = strtotime($dt);
echo($intDt); //1504100049
我需要这个来计算月相、分数和角度。
月亮的相位、分数和角度的微积分在我的 js 脚本中运行良好。但是我的 PHP 结果与 JavaScript 不同。
PHP 的时间函数 return 自 unix 纪元以来的秒数,而不是像 JS 那样的毫秒数。您要么需要将 JS 时间除以 1000 并丢弃余数,要么将 PHP 时间乘以 1000。可以使用将第二个参数设置为 true 的 microtime,但它只会检索当前时间。
PHP 的 getTimestamp()
将为您提供 UNIX 时间戳,即自 1970 年 1 月 1 日以来 秒 的数量。
更多信息在这里:Unix Time
Javascript valueOf()
将为您提供自同一日期以来的 毫秒 数。
更多信息:Date.prototype.valueOf()
考虑到这些,下面是 javascript 中的一个片段:
var jsdt = new Date('2018-08-18')
undefined
jsdt.valueOf()
1534550400000
下面是 PHP 中的 "same" 的操作方法:
$external = "08/18/2018 00:00:00";
$format = "m/d/Y H:i:s";
$dateobj = DateTime::createFromFormat($format, $external);
echo $dateobj->getTimestamp()*1000; // 1534550400000