簡體   English   中英

日期時間到字符串:取決於轉換的日期時間的不同行為

[英]Datetime to string: differents behavior depending on the converted datetime

我使用以下C#代碼將日期時間轉換為字符串:

MyDatetime.ToString("dd/MM/yyyy HH:mm")

它有效,但並非每次都有效。 我什么意思

例如,如果輸入的datetime是2016-10-19 17:27:41.7272016-10-19 17:27:41.727得到預期的字符串2016-10-19 17:27:41.727 19/10/2016 17:27 如果日期時間中的日期(和/或月份)只有一位,那我會覺得很奇怪。

如果輸入的是2016-01-07 14:58:13.560 ,我收到1/7/2016 ,如果是2016-10-26 17:14:16.000我得到10/6/2016

你知道為什么嗎? 如何在幾天和幾個月內始終只用一個數字設置前導零? 而且,為什么我在撰寫示例的日期中沒有看到時間部分?

UPDATE

這是我的意見

SQL Server數據庫(這是SQL Server Management Studio)中的某些datetime字段。

當您輸入日期“ XXXX-XX-XX”時,則假定您使用的格式為“ YYYY-MM-DD”。

只需查看您的輸入輸出即可看到模式。 (與我一起工作的)很多編程人員都使用這種格式,因為它是自動過濾的,沒有任何標點符號(20170102總是在20161231之后,依此類推)。

您的DateTime很可能已經具有無效值(日期和月份混合)

new DateTime(2016, 01,  07,14,58,13,56).ToString("dd/MM/yyyy HH:mm")

返回07-01-2016 14:58

看看如何從數據庫中讀取此DateTime值。 我相信問題就在那里。 (例如SqlDataReader.GetDateTime

DateTime方法與計算機語言結合使用。 如果您的計算機(或服務器)是英語(反之亦然),並且您傳遞的是美國非標准日期格式,則將遇到類似這樣的問題。 如果使用的是Web應用程序,請在web.config中配置正確的語言

暫無
暫無

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

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