寫在前面
最近遇到的一個問題,在英文作業系統上,擷取到的時間是帶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();
}
輸出
方式二
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/
部落格版權:如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起讨論,共同進步!
再次感謝您耐心的讀完本篇文章。