- 前言/目的:
- 关于17位时间戳 WebKit/Chrome Timestamp的介绍
- 便捷的在线转换工具
- 用代码实现转换
- Python版本
- JavaScript版本
前言/目的:
在浏览微软Edge,谷歌Google,火狐Firefox等浏览器本地数据库文件的时候,发现里面的数据库表的关于时间的字段,其值都是用一种17位的时间戳表示的(即WebKit/Chrome Timestamp ),而不是常见的Unix时间戳,所有这里记录一下怎会在这些时间戳以及常见时间格式之间转换
关于17位时间戳 WebKit/Chrome Timestamp的介绍
Chrome的基准时间是1601年1月1日00:00:00。要计算本地时间,Chrome time必须除以一百万转换为秒,然后必须减去01/01/1601 00:00:00和01/01/1970 00:00:00之间的秒差
可以参考这个回答
便捷的在线转换工具
在线转换工具
用代码实现转换
Python版本
import datetime
def date_from_webkit(webkit_timestamp):
epoch_start = datetime.datetime(1601,1,1)
delta = datetime.timedelta(microseconds=int(webkit_timestamp))
print epoch_start + delta
inTime = int(raw_input('Enter a Webkit timestamp to convert:'))
date_from_webkit(inTime)
JavaScript版本
function date_to_webkit(date_string) {
epoch_start = new Date(1601, 0, 1);
date_ = new Date(date_string);
diff = Math.abs(date_ - epoch_start) * 1000;
return diff;
}
date_string = "2022-04-14 00:00:00";
webkit_string = date_to_webkit(date_string);
console.log(webkit_string);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)