天天看點

am,pm時間轉換

寫在前面

最近遇到的一個問題,在英文作業系統上,擷取到的時間是帶am或者pm的。但是資料庫是datetime類型,存儲的時候竟然都變成0000-00-00 00:00:00.但是在中文作業系統上又是正常的。沒辦法隻有轉換了。

解決方案

其實很多時候Convert.ToDateTime()這個方法完全滿足需求。可有些地方确實比較蛋疼,這裡還是記錄一下,加深印象。

方式一

class Program
    {
        static void Main(string[] args)
        {
            // Summary:
            //     Initializes a new instance of the System.Globalization.CultureInfo class
            //     based on the culture specified by name and on the Boolean that specifies
            //     whether to use the user-selected culture settings from the system.
            //
            // Parameters:
            //   name:
            //     A predefined System.Globalization.CultureInfo name, System.Globalization.CultureInfo.Name
            //     of an existing System.Globalization.CultureInfo, or Windows-only culture
            //     name. name is not case-sensitive.
            //
            //   useUserOverride:
            //     A Boolean that denotes whether to use the user-selected culture settings
            //     (true) or the default culture settings (false).
            System.Globalization.DateTimeFormatInfo dtInfo = new System.Globalization.CultureInfo("en-Us",true).DateTimeFormat;
            //Gets or sets the custom format string for a short time value.
            dtInfo.ShortTimePattern = "t";
            DateTime dt = DateTime.Parse("05-28-15 03:07PM ", dtInfo);
            Console.WriteLine(dt);
            Console.Read();
        }      

輸出

am,pm時間轉換

方式二

string strDt = "2014-03-02 03:07PM";
            strDt = strDt.Trim("PM".ToCharArray());
            DateTime dt =Convert.ToDateTime(strDt).AddHours(12);
            Console.WriteLine(dt);      

總結

這也是在開發中遇到的一個問題,覺得好奇,就檢視了下實作方式,遇到了,就記錄下吧。

  • 部落格位址:http://www.cnblogs.com/wolf-sun/

    部落格版權:如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起讨論,共同進步!

    再次感謝您耐心的讀完本篇文章。

AM PM