关于类型转换的问题

wzht82 2003-12-04 11:16:08
MsgBox CDate(37958)

结果显示:2003—12-3

请问这是怎么转换过来的?

那么363474944转换成date型是什么?
...全文
48 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimurakenshin 2003-12-04
  • 打赏
  • 举报
回复
CDate(37959)=2003-12-4
是指从1900-01-01开始加上37959天后是哪年哪天.自己可以算一下.

那么363474944转换成date型是什么?溢出

分离日期和时间可以用formatdatetime函数.

FormatDateTime函数


描述

返回一个日期或时间格式的表达式。

语法

FormatDateTime(Date[,NamedFormat])

FormatDateTime函数语法有如下几部分:

部分 描述
Date 必需的。要被格式化的日期表达式。
NamedFormat 可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。


设置值

NamedFormat参数的设置值如下:

常数 值 描述
vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。
vbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。
vbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。
vbLongTime 3 用计算机区域设置值中指定的时间格式显示时间。
vbShortTime 4 用24小时格式(hh:mm)显示时间。

lemonchen 2003-12-04
  • 打赏
  • 举报
回复
date类型实际上是由浮点数转化来的,以1900年为基础计算的来的。小数点前面表示日期,小数点后面表示时间如:1.00001表示1899-12-31 00:00:01 如果为负数则向前计算,如果为正数则先后计算如-1.00001表示1899-12-29 00:00:01 如果小数点前为0则表示没有日期,如果后面为0则表示没有时间,所以你的这个数字应该少了小数点
WellCUGB 2003-12-04
  • 打赏
  • 举报
回复
这样的转换我多实和rexyudl(隼)一样使用FORMAT(DATE,"YYYY-MM-DD")来转换的,如果使用其它方式转换出来的数字看上去没有什么实际意义
rexyudl 2003-12-04
  • 打赏
  • 举报
回复
用FORMAT(DATE,"YYYY-MM-DD")
wzht82 2003-12-04
  • 打赏
  • 举报
回复
lemonchen(浪迹天涯) :能否详细讲讲?
wzht82 2003-12-04
  • 打赏
  • 举报
回复
363474944里面是包含日期和时间的,请问有什么办法可以分离出日期和时间
lemonchen 2003-12-04
  • 打赏
  • 举报
回复
date类型实际上是由浮点数转化来的,以1900年为基础计算的来的
victorycyz 2003-12-04
  • 打赏
  • 举报
回复
溢出。
northwolves 2003-12-04
  • 打赏
  • 举报
回复
MsgBox DateDiff("d", #12/31/1899#, #12/4/2003#)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧