簡體   English   中英

將mm / dd / yyyy中的DateTime轉換為yyyy-dd-mm中的DateTime

[英]Convert DateTime in mm/dd/yyyy to DateTime in yyyy-dd-mm

我想從一個轉換DateTimeMM/dd/yyyy另一個DateTimeyyyy-dd-MM

我可以使用Date.Parse().ToString("yyyy-MM-dd")yyyy-dd-MM的形式獲取string

但是,當我使用Convert.ToDateTime()Date.Parse()string轉換回DateTime ,它只是將string轉換回DateTime形式為MM/dd/yyyy HH:mm:ss

DateTime的表示形式之間沒有區別。 實際上, DateTime是許多刻度,可以用您想要的任何形式表示。

根據您的答案-如果您需要使用某種格式將DateTime字符串化-您應該在需要的地方指定所需的格式。

我想將某種格式的日期時間轉換為另一種格式的日期時間在技術上是錯誤的,因為該格式與DateTime字符串表示有關。

為什么我不能使用DateTime.Parse()yyyy-dd-MM格式的字符串轉換為DateTime

  • DateTime.Parse通過使用當前區域性的約定來解析日期和時間字符串。

  • 要跨計算機和可能的文化邊界以自定義/固定格式解析日期和時間字符串,可以使用DateTime.ParseExact

因此,要將yyyy-dd-MM的字符串轉換為DateTime ,可以使用:

var d = DateTime.ParseExact("2016-31-12", "yyyy-dd-MM", CultureInfo.InvariantCulture); 

同樣如MSDN中所述,由於日期和時間的字符串表示必須符合公認的模式,因此在調用parse方法解析用戶輸入時應始終使用異常處理,或者考慮使用TryParseTryParseExact

更多信息:

我認為DateTime總是以您的系統格式顯示日期。 也就是說,如果將系統格式設置為yyyy-dd-MM,它將以該格式顯示日期。

如果必須在ui上顯示日期,請更好地使用格式化的字符串。

但是,如果要執行任何操作(天氣比較或任何其他操作),請使用DateTime。 所有的DateTime將始終為系統格式。

暫無
暫無

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

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