js 时间字符串转时间戳
时间: 2023-05-04 18:02:41 浏览: 107
JavaScript中可以使用Date对象将时间字符串转换为时间戳。时间戳表示的是从1970-01-01 00:00:00 UTC到指定时间的毫秒数。
时间字符串可以采用ISO标准格式(如"2022-01-01T00:00:00Z")或任意其他格式,只要能被Date对象解析即可。
具体步骤如下:
1. 使用Date对象解析时间字符串,创建一个Date实例。例如:let dateObj = new Date('2022-01-01T00:00:00Z');
2. 调用Date对象的getTime()方法,可以获得当前实例的时间戳。例如:let timestamp = dateObj.getTime();
3. 如果需要处理不同时区的时间字符串,可以使用Date对象的setUTCHours()、setUTCMinutes()、setUTCSeconds()等方法,将时间调整为UTC时间(协调世界时),再计算时间戳。
示例代码:
// 将ISO标准格式时间字符串转换为时间戳
let isoString = '2022-01-01T00:00:00Z';
let dateObj = new Date(isoString);
let timestamp = dateObj.getTime();
console.log(timestamp); // 输出:1640995200000
// 将其他格式的时间字符串转换为时间戳
let otherString = '2022/01/01 08:00:00';
let dateObj2 = new Date(otherString);
let timestamp2 = dateObj2.getTime();
console.log(timestamp2); // 输出:1640995200000
// 处理不同时区时间字符串
let utcString = '2022-01-01T00:00:00+0800';
let dateObj3 = new Date(utcString);
let utcHours = dateObj3.getUTCHours();
let utcMinutes = dateObj3.getUTCMinutes();
let utcSeconds = dateObj3.getUTCSeconds();
dateObj3.setUTCHours(utcHours - 8); // 转换为UTC时间
dateObj3.setUTCMinutes(utcMinutes);
dateObj3.setUTCSeconds(utcSeconds);
let timestamp3 = dateObj3.getTime();
console.log(timestamp3); // 输出:1640995200000
阅读全文