5:59

天空仍未褪去夜的深沉

黑暗深处 谁在交欢

谁把枷锁套上

谁想封锁精神

受害者为什么嘲笑受害者

 

 在时光粗犷的磨坊里

颤动的琴弦捆缚着受难的灵魂

粗砺的皮鞭舔出道道血痕

灵魂推磨

磨平了岁月的棱角

西边 瘦削的山岗上

得天独厚 是那无朋的古榕

身后  堕落的天穹

被时间催促

揉了揉稀松的睡眼

夜色仓促逃遁 又被光明捉奸在床

日月交替 对峙在茫茫天际

寂寞无人 催生出无限兴奋

撑起了 儿时

对自然纵深的希冀

喧嚣来临   寂静回避

曙光乍现   看不见我的晨曦

### 时间偏差问题的根源 JavaScript 中的 `toISOString()` 方法返回的是基于 UTC 时间的日期字符串,而不是本地时间。如果原始时间戳对应的是某个本地时间(如 `23:59:59`),直接调用 `toISOString()` 会转换为 UTC 时间,从而导致时间显示上的偏差[^1]。 例如,假设时间戳 `1738713599000` 对应的是北京时间(UTC+8)的 `2025-02-05 23:59:59`,使用 `new Date(1738713599000).toISOString()` 将返回 `2025-02-05T15:59:59.000Z`,即 UTC 时间的 `15:59:59`,而不是原始的 `23:59:59`。 ### 保持原始时间格式的解决方案 为了保持原始时间格式(如 `23:59:59`)不变,可以通过手动拼接 `Date` 对象的本地时间组件来构造所需的格式,而不是依赖 `toISOString()`。 #### 示例代码 ```javascript function formatLocalTime(date) { const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } const timestamp = 1738713599000; // 北京时间 2025-02-05 23:59:59 const date = new Date(timestamp); const formattedTime = formatLocalTime(date); console.log(formattedTime); // 输出: 2025-02-05 23:59:59 ``` 该方法通过 `getFullYear()`、`getMonth()`、`getDate()`、`getHours()` 等方法获取本地时间的各个组件,并使用 `padStart()` 确保格式统一为两位数,从而避免因 `toISOString()` 的 UTC 转换而导致的时间偏差。 ### 使用 Moment.js 的替代方案 如果项目中已引入 [Moment.js](https://momentjs.com/),可以更简洁地实现相同功能。通过 `moment` 对象的 `.format()` 方法,可以直接输出本地时间格式。 ```javascript const moment = require('moment'); const timestamp = 1738713599000; const formattedTime = moment(timestamp).format('YYYY-MM-DD HH:mm:ss'); console.log(formattedTime); // 输出: 2025-02-05 23:59:59 ``` Moment.js 提供了更灵活的日期格式化方式,并且默认使用本地时间,避免了 `toISOString()` 的 UTC 转换问题[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值