我们必须为我们的客户端构建一个网站,在前端运行 Angular 9+,nodejs 是服务器后端应用程序。一切运作良好。
现在,我的客户希望最初为以下时区的客户提供支持:印度时间、太平洋时间、亚利桑那时间、山区时间、中部时间和东部时间。我们计划使用@js-joda/core 和@js-joda/timezone 来完成这项工作。
要求之一是验证用户输入的日期。日期必须仅属于当前月份。服务器设置为 UTC 时区。我们正在考虑将日期时间转换为 UTC,然后将其存储在(mongodb)数据库中。但是我们不确定如何使用 js-Joda 将给定的日期转换为 UTC。我们尝试使用以下代码,但它似乎没有转换。
var jsJoda = require("@js-joda/core");
require("@js-joda/timezone");
var indiaZone = jsJoda.ZoneId.of("Asia/Calcutta");
var localDateTime = jsJoda.LocalDateTime.parse("2021-10-05T23:18:09.905");**//<--user entry date**
var localTime = jsJoda.ZonedDateTime.of(localDateTime, indiaZone);
var utcZoned = jsJoda.ZonedDateTime.of(localTime, jsJoda.ZoneOffset.UTC);
console.log('Current Time in UTC: ' + utcZoned.toString());
我预计打印的日期会晚 5.5 小时,但事实并非如此。如果我的方向正确,您能否提供帮助,以及为什么 UTC 时间显示的时间相同?