asctime(将时间和日期以字符串格式表示)

相关函数

time,ctime,gmtime,localtime

表头文件

#include<time.h>

定义函数

char * asctime(const struct tm * timeptr);

函数说明

asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。

此函数已经由时区转换成当地时间,字符串格式为:“Wed Jun 30 21:49:08 1993\n”

返回值

若再调用相关的时间日期函数,此字符串可能会被破坏。

此函数与ctime不同处在于传入的参数是不同的结构。

附加说明

返回一字符串表示目前当地的时间日期。

范例

#include <time.h>

main() {

  time_t timep;

  time (&timep);

  printf(“%s”,asctime(gmtime(&timep)));

}

执行

Sat Oct 28 02:10:06 2000

ctime(将时间和日期以字符串格式表示)

相关函数

time,asctime,gmtime,localtime

表头文件

#include<time.h>

定义函数

char *ctime(const time_t *timep);

函数说明

ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。

此函数已经由时区转换成当地时间,字符串格式为“Wed Jun 30 21 :49 :08 1993\n”。

若再调用相关的时间日期函数,此字符串可能会被破坏。

返回值

返回一字符串表示目前当地的时间日期。

范例

#include<time.h>

main() {

  time_t timep;

  time (&timep);

  printf(“%s”,ctime(&timep));

}

执行

Sat Oct 28 10 : 12 : 05 2000

gettimeofday(取得目前的时间)

相关函数

time,ctime,ftime,settimeofday

表头文件

#include <sys/time.h>

#include <unistd.h>

定义函数

int gettimeofday ( struct timeval * tv , struct timezone * tz )

函数说明

gettimeofday()会把目前的时间有tv所指的结构返回,当地时区的信息则放到tz所指的结构中。

timeval结构定义为:

struct timeval{

  long tv_sec; /*秒*/

  long tv_usec; /*微秒*/

};

timezone 结构定义为:

struct timezone{

  int tz_minuteswest; /*和Greenwich 时间差了多少分钟*/

  int tz_dsttime; /*日光节约时间的状态*/

};

上述两个结构都定义在/usr/include/sys/time.h。

tz_dsttime 所代表的状态如下

DST_NONE /*不使用*/

DST_USA /*美国*/

DST_AUST /*澳洲*/

DST_WET /*西欧*/

DST_MET /*中欧*/

DST_EET /*东欧*/

DST_CAN /*加拿大*/

DST_GB /*大不列颠*/

DST_RUM /*罗马尼亚*/

DST_TUR /*土耳其*/

DST_AUSTALT /*澳洲(1986年以后)*/

返回值

成功则返回0,失败返回-1,错误代码存于errno。

附加说明EFAULT指针tv和tz所指的内存空间超出存取权限。

范例

#include<sys/time.h>

#include<unistd.h>

main(){

  struct timeval tv;

  struct timezone tz;

  gettimeofday (&tv , &tz);

  printf(“tv_sec; %d\n”, tv,.tv_sec) ;

  printf(“tv_usec; %d\n”,tv.tv_usec);

  printf(“tz_minuteswest; %d\n”, tz.tz_minuteswest);

  printf(“tz_dsttime, %d\n”,tz.tz_dsttime);

}

执行

tv_sec: 974857339

tv_usec:136996

tz_minuteswest:-540

tz_dsttime:0

gmtime(取得目前时间和日期)

相关函数

time,asctime,ctime,localtime

表头文件

#include<time.h>

定义函数

struct tm*gmtime(const time_t*timep);

函数说明

gmtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。

结构tm的定义为

struct tm {

  /*代表目前秒数,正常范围为0-59,但允许至61秒*/

  int tm_sec;

  /*代表目前分数,范围0-59*/

  int tm_min;

  /*从午夜算起的时数,范围为0-23*/

  int tm_hour;

  /*目前月份的日数,范围01-31*/

  int tm_mday;

  /*代表目前月份,从一月算起,范围从0-11*/

  int tm_mon;

  /*从1900 年算起至今的年数*/

  int tm_year;

  /* 一星期的日数,从星期一算起,范围为0-6*/

  int tm_wday;

  /*从今年1月1日算起至今的天数,范围为0-365*/

  int tm_yday;

  /*日光节约时间的旗标*/

  int tm_isdst;

};

此函数返回的时间日期未经时区转换,而是UTC时间。

返回值

返回结构tm代表目前UTC 时间

范例

#include <time.h>

main(){

  char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

  time_t timep;

  struct tm *p;

  time(&timep);

  p=gmtime(&timep);

  printf(“%d%d%d”,(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);

  printf(“%s%d;%d;%d\n”, wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);

}

执行

2000/10/28 Sat 8:15:38

localtime(取得当地目前时间和日期)

相关函数

time, asctime, ctime, gmtime

表头文件

#include<time.h>

定义函数

struct tm *localtime(const time_t * timep);

函数说明

localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。

结构tm的定义请参考gmtime()。

此函数返回的时间日期已经转换成当地时区。

返回值

返回结构tm代表目前的当地时间。

范例

#include<time.h>

main(){

  char *wday[]={“Sun”,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”};

  time_t timep;

  struct tm *p;

  time(&timep);

  p=localtime(&timep); /*取得当地时间*/

  printf (“%d%d%d ”, (1900+p->tm_year),( l+p->tm_mon), p->tm_mday);

   printf(“%s%d:%d:%d\n”, wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec);

}

执行

2000/10/28 Sat 11:12:22

mktime(将时间结构数据转换成经过的秒数)

相关函数

time,asctime,gmtime,localtime

表头文件

#include<time.h>

定义函数

time_t mktime(strcut tm * timeptr);

函数说明

mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。

返回值

返回经过的秒数。

范例

/* 用time()取得时间(秒数),利用localtime() 转换成struct tm 再利用mktine()将struct tm转换成原来的秒数*/

#include<time.h>

main() {

  time_t timep;

  strcut tm *p;

  time(&timep);

  printf(“time() : %d \n”,timep);

  p=localtime(&timep);

  timep = mktime(p);

  printf(“time()->localtime()->mktime():%d\n”,timep);

}

执行

time():974943297 time()->localtime()->mktime():974943297

settimeofday(设置目前时间)

相关函数

time,ctime,ftime,gettimeofday

表头文件

#include<sys/time.h>

#include<unistd.h>

定义函数

int settimeofday ( const struct timeval *tv,const struct timezone *tz);

函数说明

settimeofday()会把目前时间设成由tv所指的结构信息,当地时区信息则设成tz所指的结构。

详细的说明请参考gettimeofday()。

注意,只有root权限才能使用此函数修改时间。

返回值

成功则返回0,失败返回-1,错误代码存于errno。

错误代码

EPERM 并非由root权限调用settimeofday(),权限不够。

EINVAL 时区或某个数据是不正确的,无法正确设置时间。

time(取得目前的时间)

相关函数

ctime,ftime,gettimeofday

表头文件

#include<time.h>

定义函数

time_t time(time_t *t);

函数说明

此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。

如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。

返回值

成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。

范例

#include<time.h>

mian() {

  int seconds= time((time_t*)NULL);

  printf(“%d\n”,seconds);

}

linux中获取系统时间的几种方法的更多相关文章

  1. Java中获取系统时间的四种方式

    第一种: Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" ...

  2. Java获取系统时间的四种方法

    1.Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ...

  3. linux中获取系统时间 gettimeofday函数

    linux的man页中对gettimeofday函数的说明中,有这样一个说明:   $ man gettimeofday DESCRIPTION     The functions gettimeof ...

  4. Linux C 获取系统时间信息

    比如获取当前年份:               /* 获取当前系统时间 暂时不使用 ; ; time_t now; struct tm *timenow; time(&now); timeno ...

  5. Java中获取键盘输入值的三种方法

    Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...

  6. Oracle中获取执行计划的几种方法分析

    以下是对Oracle中获取执行计划的几种方法进行了详细的分析介绍,需要的朋友可以参考下     1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条S ...

  7. (转)Shell中获取字符串长度的七种方法

    Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...

  8. Linux驱动中获取系统时间

    最近在做VoIP方面的驱动,总共有16个FXS口和FXO口依次初始化,耗用的时间较多.准备将其改为多线程,首先需要确定哪个环节消耗的时间多,这就需要获取系统时间. #include <linux ...

  9. VC++编程中获取系统时间

    <span style="white-space:pre"> </span>总结了在程序中如何获得系统时间的方法 void CGetSystenTimeDl ...

随机推荐

  1. 美团HD(6)-添加搜索遮罩

    DJSelectCityViewController.m /** SearchBar开始编辑 */ - (void)searchBarTextDidBeginEditing:(UISearchBar ...

  2. Django学习之网站图标

    首先,你要有一个.ico的文件,可以从easy icon直接搜索一个图标. 1.先导入RedirectView,是一个通用类视图. from django.views.generic.base imp ...

  3. Chrome插件开发之manifest.json

    广而告之: Chrome插件之一键保存网页为PDF1.1发布 http://www.cnblogs.com/bdstjk/p/3179543.html 最近做“一键保存网页为PDF”过程中,对Chro ...

  4. UseParNewGC和UseParallelGC的区别

    1.UseParNewGC:并发串行收集器,它是工作在新生代的垃圾收集器,它只是将串行收集器多线程化,除了这个并没有太多创新之处,而且它们共用了相当多的代码.它与串行收集器一样,也是独占式收集器,在收 ...

  5. 敏捷开发 scrum管理

    项目准备阶段 1.产品经理将整体项目拆分成不同的单独模块,每个模块尽量细化到能够自成一体.例如app的登录注册模块,不能仅仅就是登录注册这两个界面,而是要将所有与这有关的需求整合到一块.要达到的效果就 ...

  6. 【翻译自mos文章】在Oracle GoldenGate中循环使用ggserr.log的方法

    在OGG中循环使用ggserr.log的方法: 參考原文: OGG How Do I Recycle The "ggserr.log" File? (Doc ID 967932.1 ...

  7. 2015 Spark 将走向哪里?

    在刚刚过去的spark submit上,Matei Zahara简单回顾了下2014年spark的发展,可用一个词来概括那就是"Amazing"!!! 那么2015年,spark ...

  8. Spring Hello World 实例

    Hello World 实例 让我们使用 Spring 框架开始实际的编程.在你开始使用 Spring 框架编写第一个例子之前,你必须确保已经正确地设置了 Spring 环境,正如在 Spring—— ...

  9. 通过 append() 和 prepend() 方法添加若干新元素

    在上面的例子中,我们只在被选元素的开头/结尾插入文本/HTML. 不过,append() 和 prepend() 方法能够通过参数接收无限数量的新元素.可以通过 jQuery 来生成文本/HTML(就 ...

  10. GoogleMap-------解决不能使用问题

    前言:由于中国大部分Android手机中的Google服务都被阉割掉了,所以导致GoogleMap无法使用,可以用一下方法解决. 1.不能使用GoogleMap 2.若手机上装有安装市场之类的软件可搜 ...