日期时间格式数据的计算显示及相关函数的应用-trynew
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


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

发表时间:2009/11/6 11:53:54 评论(0) 浏览(13958)  评论 | 加入收藏 | 复制
   
摘 要:日期时间格式数据的表达方式及相关日期时间函数的应用
正 文:

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

日期表达式:

任何可解释成日期的表达式,包含日期文字、可看作日期的数字、可看作时间的字符串以及从函数返回的时间。日期表达式限于数字或字符串,可表示从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群(群号:198465573)
 
 相关文章
【Access函数】Access日期时间函数  【漏蛧尐魚℡  2013/1/17】
【Access扫盲知识】日期时间相减得出年数差的示例,DateDi...  【麥田  2013/2/11】
【Access扫盲知识】日期时间相减得出季度差的示例,DateDi...  【麥田  2013/2/16】
【Access扫盲知识】日期时间相减得出年数,月数,季度,天数差的...  【麥田  2013/2/19】
【Access源码示例】日期区间段查询示例,日期时间段查询示例,开...  【麥田  2013/3/13】
常见问答
技术分类
相关资源
文章搜索
关于作者

trynew

文章分类

文章存档

友情链接