下面是我的代码:
var date = new Date().toLocaleString("en-US", { timeZone: "Asia/Kolkata" });
var n = date.getDay();
尝试将数据转换为IST。
没有.toLocaleString
.getday
是完美的工作。但当使用得到下面的错误:
TypeError: date.getDay is not a function
at Object. (D:\Learning\node-course\web-server\src\app.js:12:14)
at Module._compile (internal/modules/cjs/loader.js:1200`enter code here`:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
at Module.load (internal/modules/cjs/loader.js:1049:32)
at Function.Module._load (internal/modules/cjs/loader.js:937:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
有没有更好的方法将日期转换为IST并找到日期?
3条答案
按热度按时间juzqafwq1#
使用
getDate()
代替。此方法返回今天的日期xdyibdwo2#
toLocaleString
的返回值是一个string。字符串没有getDay
方法。JavaScript的
Date
对象没有允许您使用其他时区的功能。它只支持UTC和代码运行的当前时区(同时,通过提供一些方法,给予您UTC的信息,而其他方法则给予您本地时区的信息)。(有a proposal可以解决这个问题,但它仍然只在第二阶段。如果你想知道用户当前时区的日期,只需直接在date对象上使用
getDay
。如果你想要一个不同的时区,你需要一个维护良好的支持多个时区的库。cczfrluj3#
因为它转换成字符串,而字符串没有
getDay()
函数,你可以试试,