一个非常蛋疼的问题,我在本地跑了2个项目,一个是直接node.js,一个是typescript,非常奇葩的是打印的时间戳和格式化后的时间都不一样,

格式化用的是moment.js,网上查了下资料实在是找不出什么头绪。

干脆一不做 二不休,把时区强制转为北京时间

安装

npm install moment-timezone --save    # npm
yarn add moment-timezone              # Yarn
yarn add @types/moment-timezone       # TypeScript

选第三条命令

用法

import * as moment_tz from 'moment-timezone';
import * as moment from "moment";
//引入2依赖

var today = {};
var _today = moment_tz(moment()).tz("Asia/Shanghai"); //这一步是转北京时区
today = _today.format('llll'); /*现在的时间*/
console.log(today);
moment.locale('zh-cn'); // zh-cn
let hours = Number(_today.format('HH'));
console.log(hours);

熟悉的北京时间已经正常显示了。

最后修改:2021 年 09 月 01 日
如果觉得我的文章对你有用,请随意赞赏