Board logo

標題: [發問] 請教 Format(Date, "yyyyMMDD") 無法辨別日期 [打印本頁]

作者: t8899    時間: 2018-1-2 09:45     標題: 請教 Format(Date, "yyyyMMDD") 無法辨別日期

D = Format(Date, "yyyyMMDD")
假如今日是20180101  
d-1 變成 20180100  應該是 20171231 再-1  20180099   ???
yyyymmdd 我必須用這格式
作者: Hsieh    時間: 2018-1-2 10:26

回復 1# t8899

d = Date - 1
MsgBox Format(d, "yyyymmdd")
作者: Scott090    時間: 2018-1-5 09:17

回復 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
複製代碼

作者: t8899    時間: 2018-1-5 17:47

回復  t8899


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

感謝指導
作者: 准提部林    時間: 2018-1-6 11:24

若想 20180101 - 1 直接轉為 20171231
ff = Format(DateValue(Format(20180101, "0-00-00")) - 1, "yyyymmdd")
作者: rogersg    時間: 2018-1-6 20:23

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)