如何在node.js中设置默认时区?
当前回答
来自@uhef的解决方案env TZ='Europe/Amsterdam' node server.js适用于应用程序不能使用fork进程的情况,但当你使用fork进程时,特别是当你使用像gulp这样的构建工具启动应用程序时,命令gulp将接受env值,但gulp创建的进程不(你的应用程序)。
要解决这个问题,你必须做到:
$ export TZ="Europe/Amsterdam"; gulp myTask
这将为您正在使用的控制台中启动的所有进程设置TZ环境变量,包括在同一个控制台中gulp命令后执行的所有子进程,而不需要使用export TZ="Europe/Amsterdam"前缀执行它们;一次。
其他回答
另一种至少在Linux环境下对我有用的方法是像这样运行你的Node.js应用程序:
env TZ='Europe/Amsterdam' node server.js
这至少可以确保从一开始就正确地设置了时区。
有时你可能在其他地方的虚拟服务器上运行代码——当运行NODEJS或其他风格时,这可能会变得混乱。
这里有一个修复程序,可以让你轻松地使用任何时区。
查看这里的时区列表
只需将时区短语放在FORMAT行的括号内。
在本例中,我将EPOCH转换为Eastern。
//RE: https://www.npmjs.com/package/date-and-time
const date = require('date-and-time');
let unixEpochTime = (seconds * 1000);
const dd=new Date(unixEpochTime);
let myFormattedDateTime = date.format(dd, 'YYYY/MM/DD HH:mm:ss A [America/New_York]Z');
let myFormattedDateTime24 = date.format(dd, 'YYYY/MM/DD HH:mm:ss [America/New_York]Z');
这个作品; https://stackoverflow.com/a/53282481/17700714
var date = new Date('2016-08-25T00:00:00')
var userTimezoneOffset = date.getTimezoneOffset() * 60000;
new Date(date.getTime() - userTimezoneOffset);
我使用这个NPM包unix-system-timezone
你可以使用瞬间时区。它可以让你设置你的位置,也照顾到日光节约时间。
推荐文章
- 如何在Django中设置时区
- ReferenceError: description没有定义NodeJs
- Java SimpleDateFormat("yyyy-MM-dd' t ' hh:mm:ss' z '")给出的时区为IST
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- AngularJS只适用于单页应用程序吗?
- 如何在vue-cli项目中更改端口号
- 同步和异步编程(在node.js中)的区别是什么?
- 如何编辑通过npm安装的节点模块?
- “node_modules”文件夹应该包含在git存储库中吗
- 使用package.json在全局和本地安装依赖项
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?
- 节点Multer异常字段
- 很好的初学者教程socket.io?
- CALL_AND_RETRY_LAST分配失败-进程内存不足