zoukankan      html  css  js  c++  java
  • C# 日期字符串和UTC时间的转换

    需求:为了解决夸时区的时间问题,将时间固定设置为了 (GMT-05:00) Eastern Time (US and Canada)
    但是在浏览器端还需要进行时间的对比,但是js对时间的操作太弱了,没有考虑使用第三方的js库,所以用了以下方案,
    返回两个时间,一个是EST时区的时间格式用来显示,一个是带时区的UTC时间,因为发现带时区的时间字符串使用new Date()会直接转换为本地时间。

                var esternTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
    
                        detail.StartTime = TimeZoneInfo.ConvertTimeFromUtc(offsetStartTime.UtcDateTime, esternTimeZone);
                        detail.StartTimeUTC = TimeZoneInfo.ConvertTimeFromUtc(offsetStartTime.UtcDateTime, TimeZoneInfo.Utc);
                        detail.EndTime = TimeZoneInfo.ConvertTimeFromUtc(offsetEndTime.UtcDateTime, esternTimeZone);
                        detail.EndTimeUTC = TimeZoneInfo.ConvertTimeFromUtc(offsetEndTime.UtcDateTime, TimeZoneInfo.Utc);
    
    

    可以用以下代码获取 TimeZoneID

    IList<TimeZoneInfo> lst = TimeZoneInfo.GetSystemTimeZones();
    

    客户端就使用StartTimeUTC来进行时间判断

    var StartTimeUTC = "2021-05-31T09:00:00+00:00";
    var nowDate = new Date(); //Fri May 14 2021 18:19:57 GMT+0800 (China Standard Time)
    var startTime = new Date(StartTimeUTC); //Mon May 31 2021 17:00:00 GMT+0800 (China Standard Time)
    if (startTime < nowDate) {
      // do something
    }
    

    参考:how to convert string to DateTime as UTC as simple as that

  • 相关阅读:
    JDBI
    Concise: Compressed ’n’ Composable Integer Set
    java 7 新特性
    BIO的简单Demo
    手写一个死锁Demo
    实现一个Cglib代理Demo
    实现一个JDK代理demo
    ClassNotFoundException和 NoClassDefFoundError区别验证
    集合—ArrayList
    Hadoop之Storm基础
  • 原文地址:https://www.cnblogs.com/grj1046/p/14769226.html
Copyright © 2011-2022 走看看