
格式如下: 我们可以通过asctime()函数和ctime()函数将时间以固定的格式显示出来,两者的返回值都模指是char*型的字符串
。返回的时间格式为:
星期几 月份 日期 时:分:秒 年\n\0
例如:Wed Jan 02 02:03:55 1980\n\0
其中\n是一个换行符,\0是一个空字符,表示字符串结束。下面是两个函数的原型:
char * asctime(const struct tm * timeptr)
char * ctime(const time_t *timer)
其中asctime()函数是通过tm结构来生成具有固定格式的保存时间信息的字符串,而ctime()是通过日历时间来生成时间字符串。这样的话,asctime()函数只是把tm结构对象中的各个域填到时间字符串的相应位置就行了,而ctime()函数需要先参照本地的时间设置,把日历时旦世配间转化为本地时间,然后再生成格式化后的字符串。在下面,如果t是一个非空的time_t变量的话,返扒那么:
printf(ctime(&t)) 等价于:
struct tm *ptr
ptr=localtime(&t)
printf(asctime(ptr))
那么,下面这个程序的两条printf语句输出的结果就是不同的了(除非你将本地时区设为世界标准时间所在的时区):
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *ptr
time_t lt
lt =time(NUL)
ptr=gmtime(&lt)
printf(asctime(ptr))
printf(ctime(&lt))
return 0
}
运行结果:
Sat Jul 30 08:43:03 2005
Sat Jul 30 16:43:03 2005
我同意楼上说的 计算机时钟和当前时间不是一个概念
但是我猜你应该是想修改当前时间,代码如下#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define time_len 20
int main ()
{
char set_time[time_len], cmd[100]
败袜printf("请输入想设置的时间(格式XX:xx):")
scanf("%s", &set_time) //输入将时间修改为XX:XX,其实可以不设察如激置分,直接XX,则默认XX:00
strcpy(cmd, "time ")
strcat(cmd, set_time)
橡吵 system(cmd)
}


评论列表(0条)