簡體   English   中英

C#Convert.ToDateTIme函數是否將日期讀為“dd / mm / yyyy”或“mm / dd / yyyy”?

[英]Does the C# Convert.ToDateTIme function read date as “dd/mm/yyyy” or “mm/dd/yyyy”?

C#Convert.ToDateTIme函數是否將日期讀為“dd / mm / yyyy”或“mm / dd / yyyy”?

我在我的本地計算機上有相同的應用程序,我上傳到我的遠程共享服務器。 它完全在我的本地機器上讀取“dd / mm / yyyy”,但在我的遠程機器上,似乎將日期讀作“mm / dd / yyyy”。 我在兩者上都有相同的文化設置“en-GB”。

我發現這個日期轉換非常不可預測。 任何人都可以推薦一種從SQL Server 2005數據庫中讀取日期字符串的文化證明方法嗎?

聽聽它的聲音......服務器上的一個設置是關閉的。

我會用細齒梳子檢查“區域和語言”選項,並確保不會覆蓋某些東西,但如果失敗了。

您可以嘗試明確設置文化信息

         string x = "21/01/2009";

        CultureInfo ci = new CultureInfo("en-GB");

        Convert.ToDateTime(x, ci);

為什么不簡單地使用datetime數據類型? 然后,從您的SQL數據讀取器,使用:reader.GetDateTime(int column)

另一種選擇:如果必須在字符串中傳遞日期,請使用ISO格式:yyyy-MM-dd

您的日期如何實際存儲在SQL Server中? 如果它們存儲為datetime那么您應該能夠將它們作為DateTime值讀取,而不需要使用Convert.ToDateTime()。 你能告訴我們查詢和/或C#代碼嗎?

編輯

你在問題的最后提到了SQL Server,這讓你失望了! 您是否考慮過使用DateTimePicker而不是TextBox? ASP.NET有日期選擇器控件,對吧? 然后它可以為你解析。

暫無
暫無

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

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