ipmitool 发表于 2016-11-1 07:59:24

[已解决]判斷小於七天的寫法

本帖最后由 ipmitool 于 2016-11-1 11:57 编辑

各位大哥,
我寫一個判斷小於七天就顯示msgbox, 這看起來沒有問題,
但是假設今天20161101, 那麼依照我的公式20161101-7
就會等於20161094, 這樣會造成判斷不對的情況 因為20161031也會被判斷成小於七天, 但它明明是昨天而已..
請問要怎麼解決這個問題呢?$systemtime4 = (@YEAR&@MON&@MDAY)-7

IF $aNewListA[$j] < $systemtime4 Then
        msgbox(0,"1", "Over 7days")
EndIf

chzj589 发表于 2016-11-1 08:16:52

回复 1# ipmitool
用:_DateDiff('D', $iDatex, _NowCalc())

ipmitool 发表于 2016-11-1 08:51:26

回复 2# chzj589

好像systemtime4會變成 2016/11/-6
有別的寫法嗎?#include <Date.au3>
#include <MsgBoxConstants.au3>


$systemtime= "2016/10/31"

$systemtime4 = @YEAR&"/"&@MON&"/"&@MDAY-7
$123=_DateDiff('D', $systemtime4, _NowCalc())


IF $systemtime < $123 Then
      msgbox(0,"1", $123)
Else
                msgbox(0,"2", "Over 7days")
EndIf

chzj589 发表于 2016-11-1 09:11:40

回复 3# ipmitool
修改一下代码:

#include <Date.au3>
$systemtime = "2016/11/01";结束日期
$123 = _DateDiff('D', $systemtime, _NowCalc())
Local $sString = StringTrimLeft($123, 1) ; 删除字符串左起 1 个字符.
If $systemtime >= $sString Then
        MsgBox(0, "1", $sString)
Else
        MsgBox(0, "2", "Over " & $sString & " days")
EndIf

ipmitool 发表于 2016-11-1 09:35:44

$systemtime = "2016/11/01"
不好意思, 我忘記我的日期抓到的會是這樣的格式
201611011723
年月日時分
這樣的情況好像沒辦法用datediff...

chzj589 发表于 2016-11-1 10:06:09

$systemtime = "2016/11/01"
不好意思, 我忘記我的日期抓到的會是這樣的格式
201611011723
年月日時分
...
ipmitool 发表于 2016-11-1 09:35 http://www.autoitx.com/images/common/back.gif
用正则替换:

#include <Date.au3>
$aaa = "201611011723";结束日期
Local $sNe = StringTrimRight($aaa, 4)
Local $Riqi = StringMid($sNe, 1, 4) & "/" & StringMid($sNe, 5, 2) & "/" & StringMid($sNe, 7, 2)
;$systemtime = "2016/11/01";结束日期
$123 = _DateDiff('D', $Riqi, _NowCalc())
Local $sString = StringTrimLeft($123, 1) ; 删除字符串左起 1 个字符.
If $systemtime >= $sString Then
        MsgBox(0, "1", $sString)
Else
        MsgBox(0, "2", "Over " & $sString & " days")
EndIf

chzj589 发表于 2016-11-1 10:09:34

回复 6# chzj589
不好意思,第8行应改为:
If $aaa >= $sString Then

ipmitool 发表于 2016-11-1 11:57:29

回复 7# chzj589


    感謝大哥, 好厲害阿~~~
页: [1]
查看完整版本: [已解决]判斷小於七天的寫法