我有格式爲「08/1999」的日期字符串我想獲取相應月份的第一個日期。例如:在這種情況下08/01/1999。 en-Us文化很簡單。我打破字符串,在字符串中追加「01」以獲得08/01/1999,然後是DateTime.Parse(日期字符串),但這僅適用於en-US文化。從「mm/yyyy」格式獲取日期時間對象日期字符串
我怎樣才能做到這一點不同的文化?
我的日期字符串將始終爲mm/yyyy格式。我試圖從這個dateString獲取一個DataTime obj。
我有格式爲「08/1999」的日期字符串我想獲取相應月份的第一個日期。例如:在這種情況下08/01/1999。 en-Us文化很簡單。我打破字符串,在字符串中追加「01」以獲得08/01/1999,然後是DateTime.Parse(日期字符串),但這僅適用於en-US文化。從「mm/yyyy」格式獲取日期時間對象日期字符串
我怎樣才能做到這一點不同的文化?
我的日期字符串將始終爲mm/yyyy格式。我試圖從這個dateString獲取一個DataTime obj。
使用ParseExact方法。注意上套管M是幾個月,下套管是幾分鐘。
string dateToConvert = "08/1999";
string format = "MM/yyyy";
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime result = DateTime.ParseExact(dateToConvert, format, provider);
輸出:
{1999-08-01 00:00:00}
您還可以使用Convert.ToDateTime和分析方法。它會產生相同的結果,但在implicite方式:
DateTime result = Convert.ToDateTime(dateToConvert, provider); // Output: {1999-08-01 00:00:00}
DateTime result = DateTime.Parse(dateToConvert, provider); // Output: {1999-08-01 00:00:00}
更多詳情:
我打破字符串,追加「01」字符串中獲得1999年8月1日,然後DateTime.Parse(datestring)
這是一個非常囉嗦的方式做到這一點。只要這將工作:
DateTime.Parse("08/1999")
如何爲不同的文化做到這一點?
如果你的字符串始終以這種格式,這樣做:
DateTime.Parse("08/1999", CultureInfo.InvariantCulture)
我不知道如果我正確地理解你的問題,但你可以嘗試通過CultureInfo.InvariantCulture
如果要強制美國日期格式不管客戶端計算機的區域設置如何:
DateTime.Parse("08/1999", System.Globalization.CultureInfo.InvariantCulture)
這是一個C#的問題嗎?如果是這樣,請在您的代碼中指定此代碼,您將更快地獲得合適的人員。也許。 – 2009-11-20 20:51:35
你是否還有另一種文化?不知道您正在使用哪種類型的應用程序語言,但可以根據server \ pc上的設置轉換日期和時間。 – 2009-11-20 20:52:09
這是C#的問題。 – ssal 2009-11-20 20:54:23