簡體   English   中英

如何將短日期字符串轉換回DateTime對象?

[英]How do I convert a short date string back to a DateTime object?

我有2個DateTime對象,使用ToShortDateString()函數后保存到文件中; 字符串看起來像“12/15/2009”。 我現在卡在這一部分,我想用這些字符串初始化DateTime對象,以便我可以比較日期日期之間的時間跨度。 任何幫助贊賞。

你可以試試

DateTime date = DateTime.ParseExact("12/15/2009", "MM/dd/yyyy", null);

看一下

假設您正在以字符串格式從文件中讀回日期

string date1 = "28/12/2009"; //this will be from your file
string date2 = "29/12/2009"; //this will be from your file
DateTime d1 = DateTime.ParseExact(date1,"dd/MM/yyyy", null);
DateTime d2 = DateTime.ParseExact(date2, "dd/MM/yyyy", null);
TimeSpan t1 = d2.Subtract(d1);

在處理DateTime / string轉換時,我通常會嘗試堅持這一點:

  • 以文本格式保存日期時,請明確格式化。 優選地采用標准化格式(例如ISO 8601 )。
  • 讀取日期時,使用相同的,明確定義的格式將其解析為DateTime對象。

這樣,在日期格式與您的日期格式不同的地方使用時,或者如果文件是在一個語言環境中創建,然后在另一個語言環境中解析,則代碼不會失敗。

private static string DateToString(DateTime input)
{
    return input.ToString("yyyy-MM-dd");
}

private static DateTime StringToDate(string input)
{
    return DateTime.ParseExact(input, "yyyy-MM-dd", CultureInfo.InvariantCulture);
}

你嘗試過DateTime.Parse(str)嗎?

提取年,月和日,而不是像使用smth:

var dt = new DateTime(Year,Month,Day)

或克里特島的一種擴展方法,以轉換回日期時間這種字符串,但一般來說,該擴展名美聯儲的主體將像這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM