关于date函数,给我整蒙了
vb吧
全部回复
仅看楼主
level 10
zhx40672203 楼主
有没有大神能让我请教下,
MsgBox(CDate(Mid("11061650", 1, 2) & " " & Mid(Range("C4"), 3, 2)))
这行代码是能运行的
MsgBox (Format("11061650", "MM-DD HH:mm"))
MsgBox (Format("11061650", "MM DD HH:mm"))
这行代码就不能运行,会报错溢出
就比如11061650这行数字,想把它赋值给一个日期函数,有没有什么更快的方式?
2021年11月06日 08点11分 1
level 10
zhx40672203 楼主
自己顶一下
2021年11月06日 08点11分 2
level 10
zhx40672203 楼主
坐等大佬求教
2021年11月06日 08点11分 3
level 10
zhx40672203 楼主
百度了很多次,实在没找到另人满意的答案
2021年11月06日 08点11分 4
level 11
Date变量整数部分最大为&H2d2481,也即2958465,也即9999年12月31日,你的11061650确实溢出了......
2021年11月06日 09点11分 5
请问下大佬,这个代码要怎么写...刚才又试了下用dateserial给date变量赋值,但是好像没办法一次性把日期和时间都赋值了?两次赋值的话又会出错?[汗]
2021年11月06日 09点11分
@zhx40672203 +Time就可以了
2021年11月06日 09点11分
level 15
如果你想用Format函数,应该这样写:
Format("11061650", "&&/&& &&:&&")
因为你给的这个字符串VB是无法识别成日期的,所以不能用日期时间的格式化字符,必须用字符串的格式化字符
2021年11月06日 09点11分 6
其中&可以替换成@,在这个场合下效果是一样的(如果用@,在格式化字符个数大于字符串长度时会添加空格,而&不会)
2021年11月06日 09点11分
level 11
如果你想表示当天,以现在为例,2021年11月6日,那么你用date计算就行了,如果你要表示以前的日期,那么可以通过某一个基准日期计算得出
2021年11月06日 09点11分 7
level 11
呃~之前不知道dateserial函数
现在知道了
如果你要设置一个时间,如2021.11.6 11:31:32
则可以
Dim d As Date
d = DateSerial(2021,11,6)+TimeSerial(11,31,32)
MsgBox d
2021年11月06日 09点11分 8
level 6
挺好,学习了
2021年11月07日 01点11分 9
1