返回列表 上一主題 發帖

Format與Text的差異

Format與Text的差異

Hi 各位前輩,
小弟我最近發現一個問題,在用Format取得二個時間也的相減值時,與Text的方法顯示會有所不同?一直找不到原因,特上來求解答題目如下:
    Dim aDate As Date
    aDate = Now
   
    aDate = Now - aDate
    Debug.Print Format(aDate, ["d天h時m分s秒"])
    Debug.Print Application.Text(aDate, ["d天h時m分s秒"])

    Format顯示的是【30天0時0分1秒】
    Text顯示的是【0天0時0分1秒】
為什麼Format會有多出30天呢?還請知道的前輩幫小弟我解惑一下,感謝您。
clio

本帖最後由 n7822123 於 2019-6-6 22:20 編輯

回復 1# clio


加上年月之後,發現起算的時間不一樣!?
因時間間隔太小,可直接代0,產生的一樣結果

Debug.Print Format(0, ["yyyy年m月d日h時m分s秒"])
Debug.Print Application.Text(0, ["yyyy年m月d日h時m分s秒"])

結果:
1899年12月30日0時0分0秒
1900年1月0日0時0分0秒
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

基本上, 兩個日期相減, 結果是"天數", 而非一個標準日期,
再使用format或text去取, 是根本上的錯誤,
MsgBox Application.Text(32, "d天")  >>> 結果就不是32天
何況, format及text的起算日期並不相同~~
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 3# 准提部林
感謝准提部林的提醒…我再想想別的辨法好了,感謝您
clio

TOP

回復 2# n7822123

感謝n7822123的告知,我再想想別的辨法,感謝您
clio

TOP

回復 3# 准提部林
再請教准提部林前輩:
假若我需要二個日期相減,得出差異的時間,需要細到有【w天x時y分z秒】這樣的話,我應該要怎麼做比較正確呢?
clio

TOP

回復 6# clio


a1 起始日期時間
b1 結束日期時間
[C1] = Int([B1] - [A1]) & "天" & Format([B1] - [A1], "hh時mm分ss秒")
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 7# 准提部林
感謝准提部林的回覆…太感謝您了
clio

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題