C语言学习笔记---时间函数asctime()和localtime()
这两个时间函数原型如下:
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函数将字符串打印出来。
这里的日期和月份都是用英文缩写来表示的。
星期缩写为:
Sun
、Mon
、Tue
、Wed
、Thu
、Fri
、Sat
。
月份缩写为:
Jan
、Feb
、Mar
、Apr
、May
、Jun
、Jul
、Aug
、Sep
、Oct
、Nov
、Dec
。
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函数中,该函数将时间结构体的值整理为字符串打印出来。程序运行结果如下:
通过time、localtime、 asctime这三个函数的配合,就可以将当前系统的时间转换为字符串打印出来。
C语言学习笔记---时间函数asctime()和localtime()相关推荐
- C语言学习笔记---时间函数clock()和time()
时间函数在编写代码的时候会经常用到,下面就来总结一下clock和time函数的用法,函数原型如下: clock_t __cdecl clock(void);__CRT_INLINE time_t ...
- C语言学习笔记---时间函数strftime()
strftime函数主要用于时间格式化,它的函数原型如下: size_t __cdecl strftime(char * __restrict__ _Buf,size_t _SizeInBytes,c ...
- C语言学习笔记---时间函数ctime()和gmtime()
函数原型如下: __CRT_INLINE char *__cdecl ctime(const time_t *_Time);__CRT_INLINE struct tm *__cdecl gmti ...
- C语言学习笔记-7.函数
一.函数的使用 1.每个函数在使用之前必须先定义 例:void function(); //有分号 int main() {-} void add() {-} //无分号 2. ...
- C语言学习笔记---浮点函数modf()和fmod()
modf函数可以提取出浮点数的整数部分和小数部分.fmod函数可以返回两个浮点数相除的余数.它们的函数原型如下: double __cdecl modf(double _X,double *_Y) ...
- C语言学习笔记---abs()函数和div()函数
C语言库中提供了许多函数,这样需要计算的时候,可以直接借助库函数,而不用自己重新编写函数.今天就来看一下C语言标准库函数里面的整型函数. int __cdecl abs(int _X);long ...
- C语言学习笔记---断言函数assert()
在C语言库函数中提供了一个辅助调试程序的小型库,它是由assert()宏组成,接收一个整形表达式作为参数.如果表达式的值为假(非零),则assert()宏就在标准错误流(stderr)中写入一条错 ...
- C语言学习笔记---指向函数的指针
在内存中函数的存放也是一段连续的内存,函数名就是指向改内存中的首地址,所以也可以将这个函数的首地址赋给一个指针变量,这样通过指针变量就可以访问改函数. 那么为什么要通过指针来访问函数呢?下面通 ...
- C语言学习笔记---打印函数printf()和sprintf()函数
printf()函数 在C语言中使用最多的打印函数就是printf(),它可以将各种类型的数据转换为字符串输出. int main(int argc, char *argv[]) {char na ...
最新文章
- (已解决)(Jupyter notebook)中的tqdm进度条不是在一行更新并显示而是一直滚动往下输出
- python变量区分大小写吗_Python变量名是不是区分大小写的
- 飞机大战-控制飞机左右移动二
- 手机 html 折叠效果,HTML5仿苹果手机的面板合拢折叠效果
- 完美解决VB中int to short溢出问题
- Android.DebugTools.Traceview dmtracedump
- Winform获取本地IP和外网IP
- Android视频加密
- vscode unins000.exe报错,尝试在目标目录创造文件时发生错误
- Java后端根据身份证号计算年龄
- Windows系统下桌面右键菜单新建项管理
- IEEE 802.3标准简介以及各分类标准汇总
- webx 容器初始化
- P1075 质因数分解
- 白木彰:具有普遍性的设计力
- 程序员的损失!Erlang 之父 Joe Armstrong 离世
- go学习 --- godoc工具安装
- 微服务架构,springcloud核心组件和实战,docker容器
- 安卓开发SlidingDrawer实现抽屉效果
- 【TensorFlow】Keras机器学习基础知识-使用TF.Hub进行文本分类
热门文章
- JavaScript学习笔记——事件
- PHP中CURL方法curl_setopt()函数的一些参数
- Shell每行前面加上行号
- [PTA] 数据结构与算法题目集 6-10 二分查找
- Hadoop和Spark的异同
- Hadoop MapReduce InputFormat基础
- IT痴汉的工作现状16-职业发展
- 安装grunt-browser-sync时报错:“未能加载Visual C++ 组件 “VCBuild.exe”
- 根据屏幕大小制定显示页面
- JUnit5 @AfterAll注解示例