一、秒级时间戳转日期
在开发中,我们常常需要从秒级时间戳中转换出具体的日期。这个过程实际上比较简单,只需要使用JavaScript的Date对象的构造函数即可:
const timestamp = 1589792461; const date = new Date(timestamp * 1000); console.log(date); // 2020-05-18T09:27:41.000Z
需要注意的是,Date对象的构造函数需要的是毫秒级时间戳,所以在将秒级时间戳转换为日期时,需要将其乘以1000。
二、毫秒级时间戳和秒级时间戳转年月日
在前面提到的将秒级时间戳转换为日期的例子中,我们可以看到Date对象会默认将时间转换为UTC标准时间(格林威治时间),因此需要再将其转换为本地时间,并提取出其中的年、月、日信息:
const timestamp = 1589792461000; // 毫秒级时间戳 const date = new Date(timestamp); const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); console.log(`${year}-${month}-${day}`); // 2020-05-18
相比于秒级时间戳,毫秒级时间戳转换为日期时不需要再进行乘以1000的操作。
三、毫秒级时间戳多少位
毫秒级时间戳是指精确到毫秒的时间戳,它一般是13位数字(也可能更多,取决于具体实现)。相比于秒级时间戳的10位数字,毫秒级时间戳的位数更多,可以提供更加精确的时间信息。
四、时间戳毫秒和秒有什么区别
毫秒级时间戳和秒级时间戳的最大区别在于精确度的不同。毫秒级时间戳可以提供更加精确的时间信息,但也需要更多的存储空间。
五、时间戳单位是秒还是毫秒
在实际开发中,我们经常需要跟时间戳打交道。一般情况下,时间戳的单位可以是秒或毫秒,具体取决于我们使用的API、库或框架。因此,在使用时间戳时,需要明确其单位,并进行相应的转换。
六、怎么判断时间戳是秒级还是毫秒级
判断时间戳是秒级还是毫秒级,最常见的方法是判断其位数。一般情况下,毫秒级时间戳位数为13位及以上,秒级时间戳位数为10位。
function isMillisecond(timestamp) { const timeStr = timestamp.toString(); return timeStr.length > 10; } const timestamp1 = 1589792461; // 秒级时间戳,10位数字 const timestamp2 = 1589792461000; // 毫秒级时间戳,13位数字 console.log(isMillisecond(timestamp1)); // false console.log(isMillisecond(timestamp2)); // true
当然,也可以根据实际情况,选择使用相应的API,例如在Node.js中使用的fs.stat()方法,就自动识别时间戳单位,返回对应的时间戳。