2016-09-09 49 views
2

我正在使用jQuery datepicker讓用戶在文本框中輸入日期。然後日期顯示在2位數的月,日的網頁,和2位數年份格式了斜槓mmddy將奇怪格式的日期時間值更新到數據庫中顯示不正確日期

$(function() { 
     $("#datepicker").datepicker({ dateFormat: 'mmddy' }); 
      }); 

當進入這個日期被正確地顯示在頁面上,但在該日期數據庫不會反映在文本框中輸入的日期。相反,我會輸入正確的日期和年份,但不是一個月。

CultureInfo provider = CultureInfo.InvariantCulture; 
DateTime dt new DateTime(); 
dt = DateTime.ParseExact(datepicker.Text, "mmddy", provider); 

cmd.Parameters.AddWithValue("@date", dt); 

//result example 2016-01-09 hh:mm:ss the should be 2016-09-09 

我試過轉換爲字符串。我試過了不同的分析方法(TryParseExact等)。它會在數據庫中返回相同的結果,或者我會得到錯誤,例如無效的日期格式或日期小於最小日期被輸入到數據庫中。我不想使用DateTime.Now,因爲它工作時,我使用一個檢查器,如果用戶輸入未來日期,它將更新到將來的日期,並使用DateTime.Now將始終輸入當前日期。我表中的datetype是日期時間,使用舊版本的sql,並且允許使用NULL

+0

這是最好保持'CultureInfo'像 「EN-US」 規定,對於全球化 – GauravKP

+0

@GauravP - 不,如果你正在使用'ParseExact' –

回答

5

您的格式字符串mmddy不正確。

您需要使用資金M S表示每月小寫m小號意味着分鐘:

例如

「M」 的月份,從1到12

「MM」 是月,從01至12

「MMM」 本月的縮寫名稱。

「MMMM」月的全名。

參考Custom Date Time Formats

+1

我知道這很奇怪,我在想它需要反映在我的datepicker函數中聲明的格式。我簡直不敢相信這一切,我會盡可能標記答案,謝謝。 – walangala

相關問題