redapple2008 发表于 2019-8-2 08:53:45

每个月最后一天怎么表示?【已解决】

本帖最后由 redapple2008 于 2019-8-2 12:05 编辑

每个月最后一天怎么表示?例如7月31日怎么判断是最后一天?

afan 发表于 2019-8-2 09:03:03

除了2月需要判断闰年外,其它的都是 或30 或31 的定值

zghwelcome 发表于 2019-8-2 09:06:00

#include <date.au3>
MsgBox(0,'本月最后一天',_DateAdd('D',-1,StringRegExpReplace(_DateAdd('M',1,_NowCalcDate()),'\d+$',1)))






zghwelcome 发表于 2019-8-2 09:16:13

每月最后一天

#include <date.au3>

Local $sDay, $sMonthLastDay
For $i = 1 To 12
        Switch $i
                Case 12
                        $sDay = @YEAR + 1 & '-1-1'
                Case Else
                        $sDay = @YEAR & '-' & $i + 1 & '-1'
        EndSwitch
        $sMonthLastDay = _DateAdd('D', -1, $sDay)
        ConsoleWrite('        ' & $i & '月最后一天: ' & $sMonthLastDay & @CRLF)
Next


afan 发表于 2019-8-2 10:19:22

本帖最后由 afan 于 2019-8-2 15:08 编辑

Local $nYear = 2019, $nMon = 7, $nMDay = 31
Local $aMDays = ['', 31, ((Mod($nYear, 4) = 0 And Mod($nYear, 100) <> 0) Or Mod($nYear, 400) = 0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
MsgBox(0, StringFormat('%s年%02s月有%s天', $nYear, $nMon, $aMDays[$nMon]), $nMDay & '日' & ($aMDays[$nMon] = $nMDay ? '是最后一天' : '不是最后一天'))

测试注意:需 3.3.10.0 及以上au3版本(因含三目运算 Ternary Operator 语法)

redapple2008 发表于 2019-8-2 11:58:49

zghwelcome 发表于 2019-8-2 09:06


这个长时间没反应

redapple2008 发表于 2019-8-2 12:05:24

谢谢各位大神!

haijie1223 发表于 2019-8-2 20:04:52

_DateAdd   随便撸

绿色风 发表于 2019-8-2 22:40:07

haijie1223 发表于 2019-8-2 20:04
_DateAdd   随便撸

#include <Date.au3>
Local $au = StringSplit(_DateAdd('D',1, _NowDate()),"/")
Local $av = ($au[$au] = 1 ? "ok" : $au[$au]) ;测试的话就把 1换掉就行
MsgBox(0,0,$av)
   

帮你写出来的了
页: [1]
查看完整版本: 每个月最后一天怎么表示?【已解决】