zoukankan      html  css  js  c++  java
  • 本地时间和GMT(UTC)时间的转换(C#)

        /// <summary>  
        /// 本地时间转成GMT时间  
        /// </summary>  
        public static string ToGMTString(DateTime dt)  
        {  
            return dt.ToUniversalTime().ToString("r");  
        }  

    string s = ToGMTString(DateTime.Now);

    //本地时间为:2011-9-29 15:04:39

    //转换后的时间为:Thu, 29 Sep 2011 07:04:39 GMT

        /// <summary>  
        /// 本地时间转成GMT格式的时间  
        /// </summary>  
        public static string ToGMTFormat(DateTime dt)  
        {  
            return dt.ToString("r") + dt.ToString("zzz").Replace(":", "");  
        }  

    string s = ToGMTFormat(DateTime.Now);

    //本地时间为:2011-9-29 15:04:39

    //转换后的时间为:Thu, 29 Sep 2011 15:04:39 GMT+0800

        /// <summary>  
        /// GMT时间转成本地时间  
        /// </summary>  
        /// <param name="gmt">字符串形式的GMT时间</param>  
        /// <returns></returns>  
        public static DateTime GMT2Local(string gmt)  
        {  
            DateTime dt = DateTime.MinValue;  
            try  
            {  
                string pattern = "";  
                if (gmt.IndexOf("+0") != -1)  
                {  
                    gmt = gmt.Replace("GMT", "");  
                    pattern = "ddd, dd MMM yyyy HH':'mm':'ss zzz";  
                }  
                if (gmt.ToUpper().IndexOf("GMT") != -1)  
                {  
                    pattern = "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'";  
                }  
                if (pattern != "")  
                {  
                    dt = DateTime.ParseExact(gmt, pattern, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AdjustToUniversal);  
                    dt = dt.ToLocalTime();  
                }  
                else  
                {  
                    dt = Convert.ToDateTime(gmt);  
                }  
            }  
            catch  
            {  
            }  
            return dt;  
        }  

    DateTime dt1 = GMT2Local("Thu, 29 Sep 2011 07:04:39 GMT");

    //转换后的dt1为:2011-9-29 15:04:39

    DateTime dt2 = GMT2Local("Thu, 29 Sep 2011 15:04:39 GMT+0800");

    //转换后的dt2为:2011-9-29 15:04:39


    如果这篇文章对您有帮助,您可以打赏我

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

  • 相关阅读:
    常用知识点集合
    LeetCode 66 Plus One
    LeetCode 88 Merge Sorted Array
    LeetCode 27 Remove Element
    LeetCode 26 Remove Duplicates from Sorted Array
    LeetCode 448 Find All Numbers Disappeared in an Array
    LeetCode 219 Contains Duplicate II
    LeetCode 118 Pascal's Triangle
    LeetCode 119 Pascal's Triangle II
    LeetCode 1 Two Sum
  • 原文地址:https://www.cnblogs.com/yeminglong/p/2471083.html
Copyright © 2011-2022 走看看