更改系统时区时未更新Javascript日期对象

时间:2017-05-19 04:55:28

标签: javascript node.js date timezone exec

我有这段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打印正确的时间?

0 个答案:

没有答案