[英]Convert DateTime in mm/dd/yyyy to DateTime in yyyy-dd-mm
我想從一個轉換DateTime
在MM/dd/yyyy
另一個DateTime
在yyyy-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方法解析用戶輸入時應始終使用異常處理,或者考慮使用TryParse
或TryParseExact
。
更多信息:
我認為DateTime總是以您的系統格式顯示日期。 也就是說,如果將系統格式設置為yyyy-dd-MM,它將以該格式顯示日期。
如果必須在ui上顯示日期,請更好地使用格式化的字符串。
但是,如果要執行任何操作(天氣比較或任何其他操作),請使用DateTime。 所有的DateTime將始終為系統格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.