这两个时间函数原型如下:

  char *__cdecl asctime(const struct tm *_Tm);__CRT_INLINE struct tm *__cdecl localtime(const time_t *_Time);

asctime函数

   asctime函数可以将时间结构体转换为时间字符串格式。它的参数是一个时间结构体。结构体原型如下:

struct tm {int tm_sec;         /* 秒,范围从 0 到 59                */int tm_min;         /* 分,范围从 0 到 59                */int tm_hour;        /* 小时,范围从 0 到 23                */int tm_mday;        /* 一月中的第几天,范围从 1 到 31                    */int tm_mon;         /* 月份,范围从 0 到 11                */int tm_year;        /* 自 1900 起的年数                */int tm_wday;        /* 一周中的第几天,范围从 0 到 6                */int tm_yday;        /* 一年中的第几天,范围从 0 到 365                    */int tm_isdst;       /* 夏令时                        */
};

  它的返回值是一个 C 字符串,包含了可读格式的日期和时间信息 Www Mmm dd hh:mm:ss yyyy,其中,Www 表示星期几,Mmm 是以字母表示的月份,dd 表示一月中的第几天,hh:mm:ss 表示时间,yyyy 表示年份。

  下面通过一个简单的例子来演示一下这个函数的用法。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(int argc, char** argv)
{struct tm t;t.tm_sec    = 10;t.tm_min    = 30;t.tm_hour   = 15;t.tm_mday   = 23;t.tm_mon    = 0;t.tm_year   = 122;t.tm_wday   = 0;printf("%s ",asctime(&t));return 0;
}

  定义一个时间结构体,然后初始化结构体中的变量,将这个结构体传入到asctime函数中,函数就会返回一个时间字符串,通过printf函数将字符串打印出来。

  这里的日期和月份都是用英文缩写来表示的。

  星期缩写为:
SunMonTueWedThuFriSat

  月份缩写为:
JanFebMarAprMayJunJulAugSepOctNovDec

localtime函数

   localtime函数的作用就是使用 timer 的值来填充 tm 结构体,而这个timer 的值可以通过time函数来获取。而这个tm 结构体刚好就是asctime函数的参数,所以一般情况下localtime函数都是其他时间函数配合使用的。

  下面通过一个简单的例子来演示一下 localtime函数的用法。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(int argc, char** argv)
{time_t now_time;struct tm *t;time(&now_time); t = localtime(&now_time);printf("%s ",asctime(t));return 0;
}

  首先通过time函数获取是从 1970-01-01 00:00:00 开始到现在所经过的秒数,然后将这个秒数传入localtime函数中,该函数将秒数值整理后返回给时间结构体tm,最后再将这个时间结构体传入到 asctime函数中,该函数将时间结构体的值整理为字符串打印出来。程序运行结果如下:

  通过timelocaltimeasctime这三个函数的配合,就可以将当前系统的时间转换为字符串打印出来。

C语言学习笔记---时间函数asctime()和localtime()相关推荐

  1. C语言学习笔记---时间函数clock()和time()

      时间函数在编写代码的时候会经常用到,下面就来总结一下clock和time函数的用法,函数原型如下: clock_t __cdecl clock(void);__CRT_INLINE time_t ...

  2. C语言学习笔记---时间函数strftime()

    strftime函数主要用于时间格式化,它的函数原型如下: size_t __cdecl strftime(char * __restrict__ _Buf,size_t _SizeInBytes,c ...

  3. C语言学习笔记---时间函数ctime()和gmtime()

      函数原型如下: __CRT_INLINE char *__cdecl ctime(const time_t *_Time);__CRT_INLINE struct tm *__cdecl gmti ...

  4. C语言学习笔记-7.函数

    一.函数的使用 1.每个函数在使用之前必须先定义 例:void function();       //有分号 int main() {-} void add() {-}       //无分号 2. ...

  5. C语言学习笔记---浮点函数modf()和fmod()

      modf函数可以提取出浮点数的整数部分和小数部分.fmod函数可以返回两个浮点数相除的余数.它们的函数原型如下: double __cdecl modf(double _X,double *_Y) ...

  6. C语言学习笔记---abs()函数和div()函数

      C语言库中提供了许多函数,这样需要计算的时候,可以直接借助库函数,而不用自己重新编写函数.今天就来看一下C语言标准库函数里面的整型函数. int __cdecl abs(int _X);long ...

  7. C语言学习笔记---断言函数assert()

      在C语言库函数中提供了一个辅助调试程序的小型库,它是由assert()宏组成,接收一个整形表达式作为参数.如果表达式的值为假(非零),则assert()宏就在标准错误流(stderr)中写入一条错 ...

  8. C语言学习笔记---指向函数的指针

      在内存中函数的存放也是一段连续的内存,函数名就是指向改内存中的首地址,所以也可以将这个函数的首地址赋给一个指针变量,这样通过指针变量就可以访问改函数.   那么为什么要通过指针来访问函数呢?下面通 ...

  9. C语言学习笔记---打印函数printf()和sprintf()函数

    printf()函数   在C语言中使用最多的打印函数就是printf(),它可以将各种类型的数据转换为字符串输出. int main(int argc, char *argv[]) {char na ...

最新文章

  1. (已解决)(Jupyter notebook)中的tqdm进度条不是在一行更新并显示而是一直滚动往下输出
  2. python变量区分大小写吗_Python变量名是不是区分大小写的
  3. 飞机大战-控制飞机左右移动二
  4. 手机 html 折叠效果,HTML5仿苹果手机的面板合拢折叠效果
  5. 完美解决VB中int to short溢出问题
  6. Android.DebugTools.Traceview dmtracedump
  7. Winform获取本地IP和外网IP
  8. Android视频加密
  9. vscode unins000.exe报错,尝试在目标目录创造文件时发生错误
  10. Java后端根据身份证号计算年龄
  11. Windows系统下桌面右键菜单新建项管理
  12. IEEE 802.3标准简介以及各分类标准汇总
  13. webx 容器初始化
  14. P1075 质因数分解
  15. 白木彰:具有普遍性的设计力
  16. 程序员的损失!Erlang 之父 Joe Armstrong 离世
  17. go学习 --- godoc工具安装
  18. 微服务架构,springcloud核心组件和实战,docker容器
  19. 安卓开发SlidingDrawer实现抽屉效果
  20. 【TensorFlow】Keras机器学习基础知识-使用TF.Hub进行文本分类

热门文章

  1. JavaScript学习笔记——事件
  2. PHP中CURL方法curl_setopt()函数的一些参数
  3. Shell每行前面加上行号
  4. [PTA] 数据结构与算法题目集 6-10 二分查找
  5. Hadoop和Spark的异同
  6. Hadoop MapReduce InputFormat基础
  7. IT痴汉的工作现状16-职业发展
  8. 安装grunt-browser-sync时报错:“未能加载Visual C++ 组件 “VCBuild.exe”
  9. 根据屏幕大小制定显示页面
  10. JUnit5 @AfterAll注解示例