date( ) 函数
示例 请参阅
返回由 *** 作系统控制的当前系统日期,或创建一个与2000年兼容的日期值。
语法
DATE([nYear, nMonth, nDay])
返回值类型
日期型
参数
nYear
指定返回的年份在与 2000年兼容的日期值之间。nYear 值的范围从 100 到9999。
nMonth
指定返回的月份在与 2000年兼容的日期值之间。nMonth 值的范围从 1 到12。
nDay
指定返回的日期在与 2000年兼容的日期值之间。nDay 值的范围从 1 到 31。
说明
如果执行不带可选参数的 DATE()函数将返回当前的系统日期。包含可选参数将返回与 2000 年兼容的日期值。有关创建与 2000 年兼容的日期值的详细内容,请参阅《Microsoft Visual FoxPro 60 中文版程序员指南》第三十三章“对编程的改进”中的“对 2000 年日期的支持”。
Visual FoxFro 命令或函数都不能直接改变系统日期。
time( ) 函数
请参阅
以 24 小时制、8 位字符串(时:分:秒)格式返回当前系统时间。
语法
TIME([nExpression])
参数
nExpression
如果含有 nExpression 变量,可以返回包括百分之一秒的时间。数值表达式 nExpression 可以是任何值,然而,实际的最大精度值是 1/18 秒。使用 SECONDS( ) 函数可获得更高的精度。
返回值类型
字符型
方法/步骤
首先我们打开一个样表。
插入time函数。函数的格式是=time(hour,minute,second)
hour,minute和second参数是必须参数,为数字格式输入的时间值。
hour参数的取值范围为0-32767,大于23的值则会除以24然后取余。余数作为小时值。如图中25小时与1小时得值是一样的。
同理minute和second参数取值范围同样为0-32767,大于59的值则会除以60然后转为小时或分钟,余数作为分钟值或秒值。
excel帮助中的举例说明参数值并不能为负数,小数或分数,计算的结果与例子不符。
1.概念
在C/C++中,对字符串的 *** 作有很多值得注意的问题,同样,C/C++对时间的 *** 作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的 *** 作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法
通过学习许多C/C++库,你可以有很多 *** 作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个:
Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。
Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。
epoch:时间点。时间点在标准C/C++中是一个整数,它用此时的时间和标准时间点相差的秒数(即日历时间)来表示。
clock tick:时钟计时单元(而不把它叫做时钟滴答次数),一个时钟计时单元的时间长短是由CPU控制的。一个clock tick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。
我们可以使用ANSI标准库中的timeh头文件。这个头文件中定义的时间和日期所使用的方法,无论是在结构定义,还是命名,都具有明显的C语言风格。下面,我将说明在C/C++中怎样使用日期的时间功能。
2. 计时
C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t clock( void );
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在timeh文件中,我们可以找到对它的定义:
#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数。在timeh文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
void elapsed_time()
{
printf("Elapsed time:%u secs\n",clock()/CLOCKS_PER_SEC);
}
当然,你也可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:
#include “stdioh”
#include “stdlibh”
#include “timeh”
int main( void )
{
long i = 10000000L;
clock_t start, finish;
double duration;
/ 测量一个事件持续的时间/
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i-- ) ;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", duration );
system("pause");
}
在笔者的机器上,运行结果如下:
Time to do 10000000 empty loops is 003000 seconds
上面我们看到时钟计时单元的长度为1毫秒,那么计时的精度也为1毫秒,那么我们可不可以通过改变CLOCKS_PER_SEC的定义,通过把它定义的大一些,从而使计时精度更高呢?通过尝试,你会发现这样是不行的。在标准C/C++中,最小的计时单位是一毫秒。
在c++中,time(0)指函数返回当前时间,如果发生错误返回0。time(1)指函数返回当前时间,如果发生错误返回1
time(0)或者time(1)指c++中的一种函数。其作用是返回一特定时间的小数值。
time(0)指函数返回当前时间,如果发生错误返回零。
time(1)指函数返回当前时间,如果发生错误返回一。
扩展资料
TIME 函数语法具有以下参数:
1Hour 必需。0(零)到 32767 之间的数值,代表小时。任何大于 23 的数值将除以 24,其余数将视为小时。例如,TIME(27,0,0) = TIME(3,0,0) = 125 或 3:00 AM。
2Minute 必需。0 到 32767 之间的数值,代表分钟。任何大于 59 的数值将被转换为小时和分钟。例如,TIME(0,750,0) = TIME(12,30,0) = 520833 或 12:30 PM。
3Second 必需。0 到 32767 之间的数值,代表秒。任何大于 59 的数值将被转换为小时、分钟和秒。例如,TIME(0,0,2000) = TIME(0,33,22) = 023148 或 12:33:20 AM。
4注解:Microsoft Excel for Windows 和 Microsoft Excel for the Macintosh 使用不同的默认日期系统。时间值为日期值的一部分,并用小数来表示(例如 12:00 PM 可表示为 05,因为此时是一天的一半)。
参考资料:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)