我正在将 Json 日期转换为日期对象,但由于另一个时区服务器时间发生变化。我想保持日期和时区不变
I am converting Json date into date object but due to another timezone server time getting change. I want to remain the date and time zone same
this.convertJSON_DateTimeTo_datetimeObj = function (jsonDate) {
var date_dd_MM_yyyy = $filter('date')(jsonDate.slice(6, -2), 'medium');
//var dt = new Date(date_dd_MM_yyyy).toLocaleString("en-US", { timeZone: "Asia/Kolkata" });
//var dt = new Date(date_dd_MM_yyyy.split("/").reverse().join("/"));
return date_dd_MM_yyyy;
},
输入参数jsonDate = "/Date(1629810881857)/"
在上面的代码中,我想将 JSON DateTime 转换为输出时区为“Asia/Kolkata”的 DateTime 对象。评论中的代码是我已经尝试过的代码。如果有人帮助我,这对我很有帮助谢谢
这有一些问题。首先,服务器没有在 /Date(1629810881857)/
字符串中发送任何时区信息。这意味着您无法安全地将其转换为 Asia/Kolkata 时区,因为您不知道要将其从 转换为 时区。您需要让服务器在其响应中发送该信息。
解决该问题后,您需要将日期字符串正确解析为 JavaScript Date
。 Here's the best way。这里不需要 $filter
服务。
最后,最好的做法是让 JavaScript 日期转换为最终用户在 browser/OS 中定义的语言环境,而不是强制它显示在特定时区,例如 Asia/Kolkata .但是,如果无论用户位于何处,您都希望始终显示特定时区,here is a great answer 解释其工作原理。
this.convertJSON_DateTimeTo_datetimeObj = function (jsonDate) {
var date_dd_MM_yyyy = $filter('date')(jsonDate.slice(6, -2), 'medium');
//var dt = new Date(date_dd_MM_yyyy).toLocaleString("en-US", { timeZone: "Asia/Kolkata" });
//var dt = new Date(date_dd_MM_yyyy.split("/").reverse().join("/"));
return date_dd_MM_yyyy;
},
输入参数jsonDate = "/Date(1629810881857)/"
在上面的代码中,我想将 JSON DateTime 转换为输出时区为“Asia/Kolkata”的 DateTime 对象。评论中的代码是我已经尝试过的代码。如果有人帮助我,这对我很有帮助谢谢
这有一些问题。首先,服务器没有在 /Date(1629810881857)/
字符串中发送任何时区信息。这意味着您无法安全地将其转换为 Asia/Kolkata 时区,因为您不知道要将其从 转换为 时区。您需要让服务器在其响应中发送该信息。
解决该问题后,您需要将日期字符串正确解析为 JavaScript Date
。 Here's the best way。这里不需要 $filter
服务。
最后,最好的做法是让 JavaScript 日期转换为最终用户在 browser/OS 中定义的语言环境,而不是强制它显示在特定时区,例如 Asia/Kolkata .但是,如果无论用户位于何处,您都希望始终显示特定时区,here is a great answer 解释其工作原理。