剛剛從VB6開始升級到VB.Net。使用VB.NET格式化日期
txtFrom.Text = "1/8"
txtFrom.Text = Format(txtFrom.Text, "dd/MM/yyyy")
此代碼在文本框中生成DD/MM/YYYY
。
我該怎麼做才能生產01/08/13
?
剛剛從VB6開始升級到VB.Net。使用VB.NET格式化日期
txtFrom.Text = "1/8"
txtFrom.Text = Format(txtFrom.Text, "dd/MM/yyyy")
此代碼在文本框中生成DD/MM/YYYY
。
我該怎麼做才能生產01/08/13
?
我應該怎麼做才能生產01/08/13?
dd/MM/yy
解析日期。重新格式化日期。
Dim d As Date = Date.ParseExact(txtFrom.Text, "d/M", CultureInfo.InvariantCulture)
txtFrom.Text = d.ToString("dd/MM/yy")
這不會創建一個年份值爲0(基於時代)的日期嗎?那麼,1月8日,0001 A.D.?我希望他會需要另一塊把當前或前一年放在那裏。 –
@JoelCoehoorn:之後我測試了一下,[顯然不是](http://ideone.com/qe4QAR)。 – Ryan
有趣。這對我來說是違反直覺的,但是,嘿:如果它有效...... –
與"dd/MM/yyyy"
格式功能將格式化日期對象,而不是一個字符串。您可以將字符串從文本轉換爲使用CDATE日期:
txtFrom.Text = Format(CDate(txtFrom.Text), "dd/MM/yyyy")
您可能需要使用IsDate
或情況txtFrom.Text
一個try-catch塊是無效的日期。
Dim sFormat As System.Globalization.DateTimeFormatInfo = New System.Globalization.DateTimeFormatInfo()
sFormat.ShortDatePattern = "dd/MM/yyyy"
txtFrom.Text = Format(Convert.ToDateTime(txtFrom.Text+Now.Year.ToString(), sFormat), "dd/MM/yyyy")
沒有年份輸入哪一年你期望輸出? –