Chrome 书签文件是 JSON,其中包含代表特定日期和时间的“date_added”值,例如
{
"checksum": "05b8bba8b5f0e9ad1cc8034755557735",
"roots": {
"bookmark_bar": {
"children": [ {
"children": [ {
"date_added": "13170147422089597",
"id": "121",
"name": "NativeScript: Getting Started Guide",
"type": "url",
"url": "https://docs.nativescript.org/tutorial/chapter-0"
} ],
...
我尝试将值视为纳秒并传递给 Date 构造函数:
new Date(13170147422089597 / 1000); // 2387-05-07T06:17:02.089Z
但这似乎不正确。
如何将值“13170147422089597”转换为日期或日期字符串?
最佳答案
Chrome 书签时间值是 1601-01-01T00:00:00Z 纪元的微秒。要转换为日期:
例如。
var timeValue = '13170147422089597';
new Date(Date.UTC(1601,0,1) + timeValue / 1000); // 2018-05-07T06:17:02.089Z
将值 Date.UTC(1601,0,1) 存储为常量 (-11644473600000) 并转换为函数给出:
function chromeTimeValueToDate(tv) {
var epoch = -11644473600000;
return new Date(epoch + tv / 1000);
}
// Example
['13170147422089597',
'13150297844686316',
'13115171381595644'].forEach( tv => {
console.log(chromeTimeValueToDate(tv))
});
关于javascript - 如何将 Chrome 书签 "date_added"值解析为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51343828/