各位大俠:
   如何把12小時制的dateTime轉換為24小時制  ,轉換為仍為dateTime類型.
   不要跟我說用dateTime.Tostring("yyyy-MM-dd HH:mm:ss") 這樣轉換出來的是string型!
   急啊!!!!

解决方案 »

  1.   

    /// <summary>
    /// 那你想怎么转???
    /// </summary>
    class timecover
    {
        static void Main()
        {
            //yyyy-MM-dd HH:mm 24小时制
            //yyyy-MM-dd hh:mm 12小时制        DateTime time = DateTime.Parse("20:16:17");
            string Time12 = time.ToString("hh:mm:ss");
            Console.WriteLine(Time12);
            //Time12 = 08:16:17   
            string Time24 = time.ToString("HH:mm:ss");
            //24Time = 20:16:17   
            Console.WriteLine(Time24);        //如果你要DateTime类型的就这样。dt 就是DateTime了
            DateTime dt = DateTime.Parse(Time12);//或DateTime.Parse(Time24);
        }
    }
      

  2.   


    DateTime dt = new DateTime(2008, 12, 01, 13, 59, 59);                MessageBox.Show(dt.Hour.ToString());  
      

  3.   

    唉,想復雜了.直接用timespan就可以獲得的是24小時制的.暈死.發分了
      

  4.   


    楼主,你对时间的类型不清楚啊,DateTime的存储实际上就是一个long类型的数据,他是一个时间戳,所谓几小时制,只不过是表现形式而已,当到了你要输出的地方的时候,你只要输出String就OK了(dateTime.Tostring("yyyy-MM-dd HH:mm:ss") ),反正你是给人看的嘛,如果是给程序或是机器去读,你直接给他DateTime就好了!
    所以没有12小时制的DateTime转换成24小时制的DateTime,只有转换成24小时制的字符串
      

  5.   


    DateTime实例的Hour返回的就是24小时制的,Hour你想要12小时制的还拿不到呢
      

  6.   


    呵呵.如果像你所說,直接用dateTime.hour就能拿到24小時制的,我何必上來問,我就是拿到的總是12而而已
    你自已有沒有去試試.
    還有,顯示當然是用toString()就行了,問題我要做一些復雜計算,計算之后再拿小時.而這個小時在我們系統中永遠只顯示12小時,所以我才要轉換為24.
    我們服務器用java寫的,但是他有一個專類,可以把當前系統時間轉換為24小時的時間類型.其實C#應該有才對,不知是否為
    dateTimeFormatInfo這個類