时间戳js
时间: 2025-06-30 09:14:16 浏览: 7
在 JavaScript 中,获取当前时间戳或对时间戳进行转换是常见的需求。可以通过多种方式实现这一功能,并且可以根据具体需求选择是否包含毫秒部分。
### 获取当前时间戳
1. 使用 `Date.parse(new Date())` 方法可以获取当前时间的时间戳(以毫秒为单位)[^1]。
```javascript
var timestamp = Date.parse(new Date());
console.log(timestamp); // 输出类似 1622427159000
```
2. 如果只需要不带毫秒的时间戳(即通常所说的 Unix 时间戳,表示自 1970 年 1 月 1 日 00:00:00 UTC 至今的秒数),可以使用如下函数:
```javascript
function get_current_timestamp () {
return Number(Number(+new Date()).toString().substr(0,10));
}
console.log(get_current_timestamp()); // 输出类似 1622427159
```
这个方法通过截取字符串的方式去掉了毫秒部分[^2]。
3. 另外一种常用的方法是利用 `new Date().getTime()` 或者直接 `+new Date()` 来获取当前时间的毫秒级时间戳:
```javascript
var timestamp = new Date().getTime();
console.log(timestamp); // 输出类似 1280977330748
// 等价写法
var timestamp2 = +new Date();
console.log(timestamp2); // 输出同上
```
这两种方式都能精确到毫秒[^3]。
### 时间戳转换为日期
如果已经有了一个时间戳并希望将其转换回可读格式的日期和时间,可以这样做:
```javascript
function timestampToDate(timestamp) {
const date = new Date(timestamp * 1000); // 假设传入的是秒级时间戳
return `${date.getFullYear()}-${String(date.getMonth()+1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}:${String(date.getSeconds()).padStart(2, '0')}`;
}
console.log(timestampToDate(1622427159)); // 输出类似于 "2021-06-01 12:52:39"
```
这里我们首先将秒级时间戳乘以 1000 转换为毫秒级,然后创建了一个 `Date` 对象来处理这个时间戳,并格式化输出了年月日时分秒。
### 注意事项
- 当处理时间戳时,请确保了解你所使用的 API 是否期望毫秒还是秒作为单位。
- 在进行时间戳与日期之间的转换时,考虑到不同浏览器可能存在的差异以及夏令时等因素的影响,建议总是使用标准库提供的方法来进行这些操作。
阅读全文
相关推荐


















