2013-08-29 22 views
2

朋友..兩位數日期解析函數錯誤

我的系統日期格式爲MM/dd/yyyy。

我想要格式dd/MM/yyyy。和使用folling代碼

DateTime dt = DateTime.Parse(stdate.Value.ToString("dd/MM/yyyy")); 

,並通過在DT日期時間格式(日/月/年)來查詢

此代碼即時給出了單個位日期正確的輸出(如2023年1月6日)// stdate是的DateTimePicker

但兩位數的名字給錯誤(像28/8/2013)

這裏有什麼問題......朋友們幫助我..

注意,我已經設置的DateTimePicker格式作爲自定義和fustomFormat是dd-MM-yyyy ..從DateTimepicker屬性。 所以我的datetimepicker控件顯示值01/08/2013 ..但實際值在datetimepicker的屬性是8/1/2013(28/08/2013 ....在屬性8/28/2013)

+0

'TryParseExact'是解決 – wudzik

+1

'stdate.Value'是不依賴於系統格式,系統日期時間格式的'DateTime'只是影響'ToString',它將'DateTime'轉換爲字符串來顯示。所以你的代碼實際上什麼都不做,'DateTime dt = stdate.Value;'是一樣的。 **除非你想在'stdate.Value'中交換每月和每日**。 –

+0

Plz..轉換TryParseExact中的這段代碼。 –

回答

1

只是在做

 DateTime dt = dateTimePicker1.Value; 

    string str = dt.ToString("dd/MM/yyyy"); 

會得到您的格式所需的日期u需要

如果你在字符串格式日期,並想將其轉換爲DateTime,您可以使用:

DateTime dt; 
    CultureInfo enUS = new CultureInfo("en-US"); 
    string dateString = "05/01/2009"; 

    if (DateTime.TryParseExact(dateString, "dd/MM/yyyy", enUS, 
           DateTimeStyles.None, out dt)) 
    { 
     dateTimePicker1.Value = dt; 
    } 
+0

Thnks for Reply..But看到你在字符串中轉換日期..我想查找數據兩個日期之間so..can字符串格式在這裏工作......? –

+0

@TusharWakchaure等待等待,你想要兩個日期之間的差異? –

+1

@TusharWakchaure你可以直接比較'dateTimePicker1.Value> anotherDateTime'或差異像'var diff = dateTimePicker1.Value -anotherDateTime; – Damith

0

電子發生錯誤是因爲儘管您將stdate.Value格式化爲所需的字符串格式,但DateTime.Parse仍使用系統格式MM/dd/yyyy

雖然DateTime.TryParse可能會幫助你想做什麼,結果將是dt == stdate.Value,這隻會導致你回到原點。

你可能想要做的只是在當你想要把它放到你的查詢,我以爲時間格式化stdate.Value需要一個字符串輸入