我有这段nodejs代码,它最初获取当前日期并打印小时和分钟。然后我更改时区,然后再次获取当前日期并打印小时和分钟。
'use strict';
require('shelljs/global');
// Current Timezone Asia/Kolkata
const old_date = new Date();
console.log(`Old date: ${old_date.getHours()}:${old_date.getMinutes()}`);
exec('sudo timedatectl set-timezone America/New_York', (err) => {
if (err) { console.error(err); return }
const new_date = new Date();
console.log(`New date: ${new_date.getHours()}:${new_date.getMinutes()}`);
});
我收到的输出是
Old date: 10:14
New date: 10:14
显然,如果在节点进程运行时更改时区,则不会更新javascript日期对象。有没有办法让javascript打印正确的时间?