簡體   English   中英

從數據庫中的日期字段更改日期格式

[英]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.

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