返回列表 上一主題 發帖

[發問] 請教 Format(Date, "yyyyMMDD") 無法辨別日期

[發問] 請教 Format(Date, "yyyyMMDD") 無法辨別日期

D = Format(Date, "yyyyMMDD")
假如今日是20180101  
d-1 變成 20180100  應該是 20171231 再-1  20180099   ???
yyyymmdd 我必須用這格式

回復 1# t8899

d = Date - 1
MsgBox Format(d, "yyyymmdd")
學海無涯_不恥下問

TOP

回復 1# t8899


    日期,字串,數字 轉換測試
  1. option explicit
  2. Sub test()
  3. Dim a&, aa&, b&, d$, sDate As Date, iDate As Date
  4. sDate = Format(#1/5/2018#, "yyyy/mm/dd")
  5. iDate = sDate
  6. d = Format(iDate, "yyyymmdd")           '字串
  7. a = Format(iDate, "yyyymmdd")          '長整數
  8. b = d - 30                                                       '字串減數字,自動轉型
  9. Debug.Print a, a - 30
  10. Debug.Print d, b

  11. sDate = DateAdd("d", -30, iDate)                '日期-30天, 日期
  12. d = DateAdd("d", -30, iDate)                    '日期 - 30 天,字串
  13. Debug.Print sDate, d

  14. a = Val(DateAdd("d", -30, iDate))               '日期 - 30天, "2017/12/6" 只有 "/"前的 "2017"轉為數字
  15. aa = Val(iDate)                                                 '日期轉數字,"2018/1/5" 只有 "/"前的 "2018"轉為數字
  16. Debug.Print a, aa

  17. End Sub
複製代碼

TOP

回復  t8899


    日期,字串,數字 轉換測試
Scott090 發表於 2018-1-5 09:17

感謝指導

TOP

若想 20180101 - 1 直接轉為 20171231
ff = Format(DateValue(Format(20180101, "0-00-00")) - 1, "yyyymmdd")
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

格式化為文字格式無法作加減,要先四則運算後,才能套用格式。
Rogersg

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題