js对时间戳的转换

add0(m) {

return m < 10 ? "0" + m : m;

},

format(shijianchuo) {

//shijianchuo是整数,否则要parseInt转换

var time = new Date(shijianchuo);

var y = time.getFullYear();

var m = time.getMonth() + 1;

var d = time.getDate();

var h = time.getHours();

var mm = time.getMinutes();

var s = time.getSeconds();

return (

y +

"-" +

this.add0(m) +

"-" +

this.add0(d) +

" " +

this.add0(h) +

":" +

this.add0(mm) +

":" +

this.add0(s)

);

},

### 将格林威治时间戳转换为本地时间 在 JavaScript 中,可以通过 `Date` 对象轻松实现将格林威治时间戳 (Unix 时间戳) 转换为本地时间的功能。由于 Unix 时间戳通常表示自1970年1月1日以来经过的秒数或毫秒数,在处理时需要注意单位的一致性。 对于给定的时间戳,默认情况下它会被视为 UTC 时间。创建 `Date` 实例并传入该时间戳后,调用 `.toLocaleString()` 方法即可获得基于浏览器所在时区调整后的本地时间字符串[^1]。 下面是一个简单的函数用于完成此操作: ```javascript function convertUTCToLocal(utcTimestamp){ const date = new Date(utcTimestamp * 1000); // 如果输入的是以秒计,则乘以1000转成毫秒 return date.toLocaleString(); } ``` 为了更精确地控制输出格式,还可以进一步定制日期格式化选项: ```javascript function formatLocalTime(timestamp, options={ year:'numeric', month:'2-digit', day:'2-digit', hour:'2-digit', minute:'2-digit', second:'2-digit' }){ let ms; if(String(timestamp).length === 10){ ms = timestamp * 1000; // 秒级时间戳转毫秒级 }else{ ms = Number.parseInt(timestamp); } const localDateTime = new Intl.DateTimeFormat('zh-CN',options).format(new Date(ms)); return localDateTime; } // 使用示例 console.log(formatLocalTime(1645099205)); // 输出类似于 "2022/2/17 下午8:00:05" ``` 上述代码片段展示了两种不同的方式来达到相同的目的——将一个代表特定时刻的整数值(即 Unix 时间戳),按照当前用户的地区设置自动调整,并最终呈现给人类可读的形式[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值