C语言中如何调用本地时间

Python014

C语言中如何调用本地时间,第1张

void

Time()

//系统时间

{

printf("\n\n*************

欢迎进入*********系统

*************\n")

printf("\n\n

版本所属:

******

\n")

printf("\n\n

*****\n\n

")

CString

sDate

CString

*p

p

=

&sDate

while(1)

{

CTime

Now=CTime::GetCurrentTime()

*p=Now.Format("%Y年

%m月

%d日

%H时

%M分

%S秒")

printf("%s",

*p)

Sleep(1000)

for(int

i=1

i<=strlen(*p)

i++)

{

printf("\b")

//

printf("

")

printf("\b")

}

}

printf("\n

*******\n")

}

当运行之后,虽然实现了

实现动态显示当前系统时间,

但是无法继续执行

Time函数后面的程序了,即无法继续执行下面摇奖程序了。

如果是使用MFC来做,那么这种问题是不存在的,直接使用C语言,运行于DOS窗口。

需要利用C语言的时间函数time和localtime,具体说明如下:

一、函数接口介绍:

1、time函数。

形式为time_t time (time_t *__timer)

其中time_t为time.h定义的结构体,一般为长整型。

这个函数会获取当前时间,并返回。 如果参数__timer非空,会存储相同值到__timer指向的内存中。

time函数返回的为unix时间戳,即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

由于是秒作为单位的,所以这并不是习惯上的时间,要转为习惯上的年月日时间形式就需要另外一个函数了。

2、localtime函数。

形式为struct tm *localtime (const time_t *__timer);

其中tm为一个结构体,包含了年月日时分秒等信息。

这种结构是适合用来输出的。

二、参考代码:

#include <stdio.h>

#include <time.h>

int main ()

{

    time_t t

    struct tm * lt

    time (&t)//获取Unix时间戳。

    lt = localtime (&t)//转为时间结构。

    printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec)//输出结果

    return 0

}

注意事项:

struct tm中的tm_year 值为实际年减去1900, 所以输出的时候要是lt->tm_year+1900。

c++使用

头文件

time.h

,c使用ctime,具体使用方法搜一下

函数

sturct

tm

*localtime(const

time_t

*time)来获得本地时间

程序

既输出系统的本地时间

#include<time.h>

#include<stdio.h>

int

main(void)

{

struct

tm

*local

time_t

t

t=time(NULL)

local=localtime(&t)

printf("local

time

and

date:%s\n",asctime(local))

return

0

}

几个常用的时间函数

time()//取得系统时间

gmtime()//转换成国标标准之间

localtime()//转换成本地时间

asctime()//转换成字符形式

ctime()//转换成字符形式

strftime()//类似于printf()