iT邦幫忙

0

請問ASP.NET怎麼取得時間(VB)

用 now 不是就可以取得時間了嗎

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        L1.Text = Now.ToString("yyyy-MM-dd HH:mm:ss")
    End Sub
End Class

可是我這樣打資料庫裡面的格式都只有2016/10/9(都是當天的日期)都拿不到時間
格式也沒變化還是yyyy/MM/dd 不是我設定的yyyy-MM-dd
不知道是哪個環節出問題了資料庫那邊不管設成 "文字" 還是 "時間"
也都一樣就是2016/10/9
求解阿~~~~
不然就要在Arduino加RTC直接由Arduino輸入時間了
RTC都不太準卻還是希望可以由伺服器這邊做
/images/emoticon/emoticon02.gif

2 個回答

3
huangsb
iT邦好手 1 級 ‧ 2016-10-10 09:12:10

有兩個可能:

  1. 存入資料庫時,時間值被切掉了。
  2. 資料庫欄位格式不對

建議你把存入資料庫的程式碼以及資料庫欄位的設定貼出來。

既然你知道可能哪個環節出問題了,就要每個環境一個一個去確認有沒有問題,這才是解決問題的方法。

0
kgame
iT邦新手 4 級 ‧ 2016-10-11 03:24:48

又是一個被VB特有函數整死人不償命的案例

Now() 函數是VB特有函數,回傳的物件是 VB.NET 專用的Date物件

要格式化輸出字串必須使用 Format 函數,如 Format(Now(), "yyyy-MM-dd HH:mm:ss")

為甚麼這些特有函數這麼奇葩?當然是要銜接給VB6的老程式相容運作才這麼奇葩

想使用 ToString() 來格式化就必須使用 .NET 原生的 DateTime.Now 來取得系統時間

早點投入 C# 的懷抱,脫離VB奇葩的特有函數才是根本的解決之道

參考資料:Date 資料類型 (Visual Basic)

我要發表回答

立即登入回答