[英]Changing date format from date field in database
我在SQL Server 2005中使用ASP.NET。
我的日期以數據類型=“ smalldatetime”保存在數據庫中。
我正在使用Reader將日期值顯示在名為txtDate的文本框中...
Dim conn As Data.SqlClient.SqlConnection
Dim Comm As Data.SqlClient.SqlCommand
Dim reader As Data.SqlClient.SqlDataReader
conn = New Data.SqlClient.SqlConnection(..............)
Comm = New Data.SqlClient.SqlCommand( _
("SELECT * FROM Table1 WHERE Age = 88"), conn)
conn.Open()
reader = Comm.ExecuteReader()
If reader.Read() Then
txtDate.Text = reader.Item("theDate").ToString
End If
reader.Close()
conn.Close()
但是目前,我的日期顯示為“ 2008/06/30 12:00:00 AM”,而我希望將其顯示為“ 2008年6月30日”。
如何才能做到這一點?
將ToString
替換為ToString("dd MMMM yyyy")
。 您可能希望在MSDN中查看DateTime.ToString的重載以及日期時間格式字符串。
代碼的其他要點-如果確實要從一行中選擇一個值,則限制選擇列表(即,不要使用SELECT *
),並考慮使用ExecuteScalar而不是ExecuteReader ...
數據在數據庫中的存儲方式無關緊要-您將在客戶端代碼中獲取DateTime
。 然后,您只需要格式化即可。
嘗試這樣的事情:
If reader.Read() Then
Dim date as DateTime = CType(reader.Item("theDate"), DateTime)
txtDate.Text = date.ToString("dd MMMM yyyy")
End If
在此,“ dd”表示“每月的某天”,“ MMMM”表示“全年的某月”,“ yyyy”表示“ 4位數字的年份”。
有關更多詳細信息,請參見有關自定義日期和時間格式字符串的MSDN 。 另外,您可以使用標准的日期和時間格式字符串 ,該字符串應考慮您當前的區域性。 (自定義字段將考慮每個單獨字段的字段名稱,因此月份名稱將適合區域性,但是要格式化的字段的順序和樣式由格式字符串固定。)
您應該使用數據格式來字符串化。
將您的值reader.Item(“ theDate”)強制轉換為DateTime對象,並使用ToString方法。
yourDateTime.ToString("dd MMMM yyyy");
看看這些
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.