asp.net – 如何显示UTC时间作为本地时间在网页?
我有一个数据库拥有UTC的时间.这一次可以在网页中显示,所以我被要求将其显示为页面上的当地时间,因为它可以从任何国家查看.一位同事提到了从当前线程(在服务器上)获取国家/地区设置的信息,但是我没有找到任何细节.是我想做的可能吗
解决方法
如果您(和您的网站)对
JavaScript感到满意,则有一个非常简单的方法来实现.
首先,在服务器端,您可以将UTC日期/时间格式化为RFC 3339格式(互联网时间的标准,由其他协议icalendar使用). RFC 3339的基本语法是: YYYY-MM-DDTHH:MM:SS 这样我在哪里,时间会是: 2010-05-04T05:52:33 但是当时间不是本地的,而是UTC,你最后添加一个Z来表示这个.所以在我的情况下,由于我在GMT的0500小时,上面的同一时间是: 2010-05-04T10:52:33Z 所以,首先你得到服务器输出以上到你的网页的JavaScript.然后,JavaScript可以解析该时间戳,并将日期和时间输出到浏览器的时区(由托管浏览器的计算机确定).你应该记住,如果一个用户来自东京,并且正在西班牙观看你的网站,那么他们将在东京时间内看到时间戳,除非他们调整了电脑的时钟. 所以javascript将是: var time_string_utc = some_server_variable; // timestamp from server var time_string_utc_epoch = Date.parse(time_string_utc); var time_utc = new Date(); time_utc.setTime(time_string_utc_epoch); 此时,您的JavaScript日期对象设置为UTC时间戳.快速说明上述情况: 第一个变量假定您已将服务器的时间戳字符串传递给该变量. 第二个变量使用Date.parse()方法将字符串转换为时间戳记时间戳. 第三个变量创建未设置的Date对象. 最后一行使用setTime方法,该方法从一个历元时间戳设置一个Date对象. 现在你有了这个对象,你可以把它输出给用户,你认为合适.作为一个简单的实验,您可以使用: document.write(time_utc); 哪个,如果你在我的时区使用UTC时间戳我开始: 2010-05-04T10:52:33Z 会给: Tue May 04 2010 05:52:33 GMT-0500 (CST) 但是您可以使用各种JavaScript方法将时间格式化成更令人愉快的样子. 只要您信任用户的本地浏览器/计算机时区,就无需猜测用户的国家/地区甚至调整您的时间戳. 再次,简短版本: var time_string_utc = some_server_variable; // UTC time from server var time_string_utc_epoch = Date.parse(some_server_variable); var time_utc = new Date(); time_utc.setTime(time_string_utc_epoch); document.write(time_utc); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 大型Web应用程序中的Windows Workflow用法
- asp.net – 无法获取IIS的目录
- asp.net-mvc – MVC4 Razor对大括号感到困惑
- asp.net – .aspx文件中的条件编译
- asp.net-mvc – 将SignalR与Azure表存储一起使用 – 什么架
- asp.net – 401向web api发送ajax请求时未经授权
- asp.net – 为什么Request.IsSecureConnection返回false,如
- VS 2015 Update 2 – 调试时不存在变量,为什么?
- 实现不要在asp.net mvc中跟踪
- asp.net – 如何获取当前的月份和年份
- asp-classic – 使用TFS 2010“构建”经典ASP
- asp.net-mvc-3 – asp.net mvc 3 razor从IEnumer
- asp.net-mvc – 在Web Api 2中更改IdentityUser表
- asp.net-core – 使用asp.net核心进行Windows身份
- asp.net-mvc – Asp.Net MVC2 RenderAction更改页
- asp.net – 有没有办法使VS2010发布向导在发布网
- asp.net-mvc – 在MVC4.0中使用分页实现Category
- asp.net-mvc – 什么是MVC 5的会员提供商?
- asp.net-mvc – 为什么需要为Html.Action定义的路
- 如何在ASP.NET Web应用程序(而不是MVC)中使用Raz