这在PHP中是什么格式的时间戳?为什么';我不能用javascript转换它吗?

这在PHP中是什么格式的时间戳?为什么';我不能用javascript转换它吗?,javascript,php,timestamp,unix-timestamp,Javascript,Php,Timestamp,Unix Timestamp,我使用的这个API以下面的格式返回时间戳。在他们的文档中仅解释为“UTC时间戳”。我不知道这是什么格式,或者如何使用javascript转换它。我尝试过使用new Date()、moment.js以及这两者之间的所有东西。有人能解释一下如何用JS而不是PHP来实现这一点吗 // timestamp from api 20200430094700 通过使用Javascript,我总能获得如下效果: Friday, February 16, 2610 6:34:54.700 AM 在这里,我将使

我使用的这个API以下面的格式返回时间戳。在他们的文档中仅解释为“UTC时间戳”。我不知道这是什么格式,或者如何使用javascript转换它。我尝试过使用new Date()、moment.js以及这两者之间的所有东西。有人能解释一下如何用JS而不是PHP来实现这一点吗

// timestamp from api
20200430094700
通过使用Javascript,我总能获得如下效果:

Friday, February 16, 2610 6:34:54.700 AM
在这里,我将使用PHP将其转换为正确的unix时间戳和日期对象

$timestamp = 20200430094700;

$e = new DateTime($timestamp);

// This is the correct Unix timestamp
// 1588258020
echo date_timestamp_get($e);        

// This is the correct date
// [date] => 2020-04-30 09:47:00.000000
print_r($e);

正如评论中指出的,
20200430094700
不是时间戳,而是格式为
YYYYMMDDHHMMSS
的日期。要在JavaScript中将其转换为
日期
,您需要提取组件部分(例如使用),从月份中减去一个,使其成为JS月份(从0索引),然后将其传递到
日期
构造函数中并使用其输出:

const ts='20200430094700';
const d=新日期(Date.UTC(ts.slice(0,4)、ts.slice(4,6)-1、ts.slice(6,8)、ts.slice(8,10)、ts.slice(10,12)、ts.slice(12,14));

控制台日志(d)提示:
20200430094700
->
2020 04 30 09 47 00