簡體   English   中英

如何告訴convert.todatetime輸入格式為dd-mm-yyyy

[英]how to tell convert.todatetime that the input is in format dd-mm-yyyy

寫了應該寫的代碼

  • 從用戶那里獲取時間和日期輸入

  • 並將其轉換為日期時間格式

  • 為hrs添加一些值並顯示它。

當用戶以默認格式輸入時,我的代碼工作正常但是當用戶輸入dd-mm-yyyy而不是mm / dd / yyyy(默認)之類的日期時,它不起作用。

如何更改轉換功能以解決此問題?

    DateTime dt_calc = new DateTime();
    dt_calc = Convert.ToDateTime(inputt);

要以dd-mm-yyyy格式轉換日期,請使用:

var dateValue = DateTime.Parse("11/03/1989", new CultureInfo("en-GB", false));

但是不要忘記在標題中添加System.Globalization或者只是內聯:

var dateValue = DateTime.Parse("11/03/1989", new System.Globalization.CultureInfo("en-AU", false));

不要使用Convert - DateTimeParseTryParseParseExactTryParseExact方法,這些方法采用IFormatProvider雖然這樣只需使用解析應該工作:

DateTime dt_calc = DateTime.Parse(inputt);

如果您想安全,請使用`TryParse:

DateTime dt_calc;
DateTime.TryParse(inputt, out dt_calc); // TryParse returns true if success, false if not

看看這個擴展DateTime解析功能的代碼項目 或者,在GitHub上有一個Natural Date Parser類。

暫無
暫無

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

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