Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

日期时间格式数据的计算显示及相关函数的应用

时 间:2009-11-06 11:53:54
作 者:Trynew   ID:2645  城市:广州
摘 要:日期时间格式数据的表达方式及相关日期时间函数的应用
正 文:

许多人对日期时间的含义、显示、保存、计算还是有点模糊不清,在这里略作一下讲解。

日期表达式:

任何可解释成日期的表达式,包含日期文字、可看作日期的数字、可看作时间的字符串以及从函数返回的时间。日期表达式限于数字或字符串,可表示从1899 年 1 月 1 日到9999 年 12 月 31日的日期。

可将日期作为实数的一部分来存储。小数点左边的数值表示日期:小数点右边的数值表示时间。负的数值表示在1899 年 12 月 30 日 之前。

首先日期格式的数值本身是一个数字,这个数代表在一个以1899-12-30 00:00:00为原点,天数为单位的的数轴上相应日期时间的坐标值,整数部分代表这个日期时间与原点相差的天数即传统意义上的日期,小数部分代表传统意义上的时间,即小时、分钟和秒转换成以天为单位的小数值。

因此,用坐标的概念来理解日期时间的表示和计算就好理解了,同样的一个数,既可以理解为时间点(包含当天时分秒的日期,也可称为时刻)、也可以理解为时间段(可能大于一天的时间),但代表的含义是有区别的。

日期时间只有下面三种运算才有意义,其他的计算虽然有结果,但就没有具体意义了:

时间段 +或- 时间段=时间段 (时间 +或- 时间=时间)

时间点 +或- 时间段=时间点 (日期 +或- 时间=日期

时间点-时间点=时间段 (日期-日期=时间)

因此,日期时间的计算就是在以1899-12-30 00:00:00为原点,以天数为单位的数值的加减运算,至于含义就有在某一时刻或者是多长一段时间两种可能(类似的还有温度、海拔等的表示)。至于最终如何显示就跟显示格式有关了,即传统上的表示方式,可以理解为数值如何转换成一个字符串。

获取当前系统日期时间的函数有3个,Now(),Date() ,Time(),分别是当前时刻、当前日期、当前时间,有Now=Date+Time。 这些函数不需要参数值。

获取指定日期时间的某个部分的函数有:Year(),Month(),Day(),Hour(),Minute(),Second(),这些函数要带一个指定的日期时间格式参数或用Now作为参数。Weekday()返回从星期日算起的第几天,也可指定第二个参数为从星期几算起。

标准的日期时间计算,除了直接相加减,主要就是用到 Dateadd( )函数了,至于表示就是主要用到 Format( ) 函数了。Dateadd("d",-7,Now())表示当前时刻减去7天,其他时间单位分别用英文的第一个字母(Minute用n表示,format() 函数的格式字符串的表达方法相同)。

Format 函数可以把日期格式转换成字符串格式,如Format(now,"yyyy-mm-dd hh:nn:ss")可以转换为完整格式的的日期时间字符串。

Cdate()函数可以把字符串格式的日期表达式转换成日期时间型。

对这些函数的进一步了解,请参看帮助文件和论坛中的一些例子。

想要以分钟(或其他时间单位)为单位来显示和记录,可以的标准的日期时间类型天数*24*60就可以转换了。累计和加减直接计算就可以了,先表示成为“小时:分钟”的格式,用 分钟数\60 & ":" & (分钟数 mod 60) 这个表达式就可以了,就是整除60得到小时数,对60取模(取余数)得到余下的分钟数。具体的方法就是一些计算函数及单位换算而已。



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助