時間格式換算

  • 24769
  • 0
  • C#
  • 2011-04-22

摘要:時間格式換算

從SqlServer取出Datetime格式的日期字串時會是 XXXX/XX/XX 上午 XX:XX:XX
要再塞回某張表時,這種格式的日期SqlServer不吃
所以寫下面的換算Function
應該有更簡單的方法可以將XXXX/XX/XX 上午 XX:XX:XX 換成 XXXX/XX/XX XX:XX:XX
只是查無文獻資料

 

private string convertDate(string arg_DateTime)
{
    if (arg_DateTime.Length > 0)
    {
        string[] datSplitDate = null;
        string delimStr = "/-\\: ";
        char[] delimiter = delimStr.ToCharArray();
        datSplitDate = arg_DateTime.Split(delimiter);
        
        if (datSplitDate.Length > 4)
        {
            if (!datSplitDate[3].ToString().Equals("上午"))
            {
                if (Convert.ToInt32(datSplitDate[4]) < 12)
                {

                    if (Convert.ToInt32(datSplitDate[4]) != 12)
                    {
                        int a = Convert.ToInt32(datSplitDate[4]) + 12;
                        if (a > 24)
                        {
                            a = 24;
                        }
                        datSplitDate[4] = a.ToString();

                        if (Convert.ToInt32(datSplitDate[4]) == 24)
                        {
                            datSplitDate[4] = "00";
                        }
                    }
                    else
                    {
                        datSplitDate[4] = "00";
                    }
                }
            }
            else
            {
                if (Convert.ToInt32(datSplitDate[4]) == 12)
                {
                    datSplitDate[4] = "00";
                }
            }
            return datSplitDate[0] + "/" + datSplitDate[1] + "/" + datSplitDate[2] + "    " + datSplitDate[4] + ":" + datSplitDate[5] + ":" + datSplitDate[6];
        }
        else
        {
            return arg_DateTime.Replace("上午", "").Replace("下午", "");
        }
    }
    else
    {
        return "";
    }

}