【源码】随机生成日期

按键精灵小Q 按键精灵小Q 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

作者:昨夜星辰

 

要点解析:
1、不同月份的天数不同,1、3、5、7、8、10、12为31天,2月平年为28天,闰年为29天,其余月份为30天。
2、需要判断年份是否为闰年,闰年判断方法为年份(可被4整除,且不可被100整除)或(能被400整除)。

调用方法:

Dim 年, 月, 日,日期

年 = 生成随机数(1949, 2022) '随机年

月 = 生成随机数(1, 12) '随机月

If Len(月) = 1 Then

月 = "0" & 月

End If

日 = 生成随机数(1, 获取指定某年某月中有几天(年, 月)) '随机日

If Len(日) = 1 Then

日 = "0" & 日

End If

日期 = 年 & "-" & 月 & "-" & 日 '组合日期

TracePrint "字符串格式:" & 年 & "-" & 月 & "-" & 日

TracePrint "日期格式:" & CDate(日期)

复制代码调试结果:
脚本 随机生成日期.Q ,第12行:字符串格式:1960-01-04
脚本 随机生成日期.Q ,第13行:日期格式:1960/1/4

源码:
 

Dim 年, 月, 日,日期

年 = 生成随机数(1949, 2022) '随机年

月 = 生成随机数(1, 12) '随机月

If Len(月) = 1 Then

月 = "0" & 月

End If

日 = 生成随机数(1, 获取指定某年某月中有几天(年, 月)) '随机日

If Len(日) = 1 Then

日 = "0" & 日

End If

日期 = 年 & "-" & 月 & "-" & 日 '组合日期

TracePrint "字符串格式:" & 年 & "-" & 月 & "-" & 日

TracePrint "日期格式:" & CDate(日期)

Function 判断年份是否为闰年(年份)

判断年份是否为闰年 = 0

If (CLng(年份) Mod 4) = 0 Then

If (CLng(年份) Mod 100) <> 0 Then

判断年份是否为闰年 = 1

Else

If (CLng(年份) Mod 400) = 0 Then

判断年份是否为闰年 = 1

End If

End If

End If

End Function

Function 获取指定某年某月中有几天(年, 月)

年 = CLng(年)

月 = CLng(月)

Dim 是否为闰年

是否为闰年 = 判断年份是否为闰年(年)

If 月 = 1 Or 月 = 3 Or 月 = 5 Or 月 = 7 Or 月 = 8 Or 月 = 10 Or 月 = 12 Then

获取指定某年某月中有几天 = 31

ElseIf 月 = 2 Then

If 是否为闰年 = 1 Then

获取指定某年某月中有几天 = 29

Else

获取指定某年某月中有几天 = 28

End If

Else

获取指定某年某月中有几天 = 30

End If

End Function

Function 生成随机数(num1, num2)

Dim 最小值, 最大值

最小值 = num1

最大值 = num2

If num1 > num2 Then

最小值 = num2

最大值 = num1

End If

Randomize

生成随机数 = Int((最大值 - 最小值 + 1) * Rnd + 最小值)

End Function

 

原文地址:http://bbs.anjian.com/showtopic-701610-1.aspx

...全文

相关推荐

java8集合源码-datagen:生成随机数据(数字、字符串、日期)的Java库——主要是为了促进随机测试

java8集合源码数据源 生成随机数据(数字、字符串、日期)的 Java 库 - 方便 . 随机化可用于提高覆盖率,但它也可以加快编写和运行测试的过程。 随机化的一些用例: - 有助于减少您需要编写和运行的测试用例的数量 - 您是否有使用唯一用户名注册用户的测试? 下次运行测试时它会失败,因为这样的用户已经存在.. 效果 - 有时随机化可能会发现您无法想到的棘手情况。 - 通常在选择测试数据时,选择哪个值并没有明确的赢家。 随机化有助于实现这一点,并确保我们不会受到农药效应的影响。 例子 import java.time.OffsetDateTime ; import static io.qala.datagen.RandomDate.beforeNow ; import static io.qala.datagen.RandomShortApi.* ; public class Dog { private String name; private OffsetDateTime timeOfBirth; private double weight; private double hei

weixin_38619613

Android程序研发源码Android 宿舍值日随机生成器.zip

Android程序研发源码Android 宿舍值日随机生成器.zip

AI实操论剑

datepicker:显示日历,然后为彩票选择随机日期

日期选择器 这个项目是用版本 0.11.1。 建设与发展 运行grunt进行构建,运行grunt grunt serve进行预览。 测试 运行grunt test将使用 karma 运行单元测试。

狛绝的追随者

易语言时间随机密码源码-易语言

易语言时间随机密码源码

weixin_38640794

易语言时间随机密码源码.rar

易语言时间随机密码源码.rar 易语言时间随机密码源码.rar 易语言时间随机密码源码.rar 易语言时间随机密码源码.rar 易语言时间随机密码源码.rar 易语言时间随机密码源码.rar

m0_46377045
评论
收藏 已收藏
分享
返回顶部
按键精灵小Q
按键精灵小Q 按键精灵官方账号 按键精灵官方账号
按键精灵小Q 11 成员 188 内容