当我在浏览器中使用toLocaleDateString
时,它会返回
n = new Date()
n.toLocaleDateString()
"2/10/2013"
但在node.js格式完全不同
n = new Date()
> n.toLocaleDateString()
'Sunday, February 10, 2013'
如何在node.js中获取浏览器的格式(mm/dd/yy
)?
答案 0 :(得分:10)
对我来说,解决方案是为full-icu
安装额外的模块node js
full-icu-npm
在package.json之后插入:
{"scripts":{"start":"node --icu-data-dir=node_modules/full-icu YOURAPP.js"}}
或
在当前版本的Node.js中,v10.9.0为Internationalization Support。
要控制在Node.js中如何使用ICU,您可以配置编译期间可用的选项。
如果使用small-icu
选项,则需要在运行时提供ICU数据:
env NODE_ICU_DATA=/some/directory node
node --icu-data-dir=/some/directory
答案 1 :(得分:6)
我还在node.JS中发现了这个问题。例如,在节点控制台中,键入
new Date().toLocaleDateString('en-GB')
它仍然显示美国格式。使用上面的Werner方法,您可以覆盖您的语言环境的默认Date.toLocaleDateString()行为:
Date.prototype.toLocaleDateString = function () {
return `${this.getDate()}/${this.getMonth() + 1}/${this.getFullYear()}`;
};
答案 2 :(得分:-3)
你无法获得浏览器的格式。 Node.JS在服务器端运行。
在客户端JS框架的浏览器中显示日期格式之前,您必须进行日期格式化。
答案 3 :(得分:-5)
Date.prototype.toLocaleDateString = function () {
var d = new Date();
return (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear();
};