首页  >  文章  >  web前端  >  如何显示带有时间偏移的用户区域设置中的日期和时间?

如何显示带有时间偏移的用户区域设置中的日期和时间?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-06 08:53:02147浏览

How to Display Dates and Times in User's Locale with Time Offset?

在用户的区域设置中显示带有时间偏移的日期/时间

在 Web 应用程序中,跨不同时区和区域设置处理日期和时间可能是一个挑战。其中一个要求是以用户首选的格式显示日期并将其调整为当地时区。

要实现这一目标,建议在服务器上以 UTC(协调世界时)格式存储日期,然后使用 JavaScript在客户端将它们转换为用户的区域设置和时区。

创建 UTC 日期对象

第一步是创建一个新的 Date 对象并使用 setUTC... 方法将其设置为所需的 UTC 日期和时间。例如:

d = new Date();
d.setUTCFullYear(2004);
d.setUTCMonth(1);
d.setUTCDate(29);
d.setUTCHours(2);
d.setUTCMinutes(45);
d.setUTCSeconds(26);

此代码创建一个表示 2004 年 2 月 29 日 2:45:26 UTC 的 Date 对象。

本地化日期/时间

一旦有了 UTC Date 对象,就可以使用各种 toLocale...String 方法将其转换为本地化字符串。

  • toLocaleString() 返回一个用户友好的日期和时间的字符串表示形式。
  • toLocaleDateString() 仅返回日期部分。
  • toLocaleTimeString() 仅返回时间部分。
console.log(d.toLocaleString());       // "Sat Feb 28 23:45:26 2004"
console.log(d.toLocaleDateString());   // "02/28/2004"
console.log(d.toLocaleTimeString());   // "23:45:26"

通过使用 UTC 日期并在客户端进行转换,您可以确保日期正确显示并反映用户的首选区域设置和时区。

以上是如何显示带有时间偏移的用户区域设置中的日期和时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn