时间操作 - 时间格式转换
说明
- 编程中,时间格式转换是常用的功能,特别是与格式化字符串之间的互相转换。
时间转格式化字符串
- 固定格式字符串 - asctime/asctime_r/ctime/ctime_r函数
- asctime/asctime_r函数支持将一个struct tm结构格式化为一个固定格式字符串;ctime/ctime_r函数支持将一个time_t变量转换为一个固定格式字符串。
- 固定格式:Www Mmm dd hh:mm:ss yyyy,Www 表示星期几,Mmm 是以字母表示的月份,dd 表示一月中的第几天,hh:mm:ss 表示时间,yyyy 表示年份
* 函数原型如下:
#include <time.h>char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);* 示例
time_t curtime;
time(&curtime);
struct tm t;
gmtime_r(&curtime, &t);puts(asctime(&t)
printf("当前时间 = %s", ctime(&curtime));* 函数说明
asctime和ctime采用静态变量保存的转换结果,不是线程安全的,asctime_r和ctime_r是其线程安全版本
- 自定义格式字符串 - strftime函数
- 函数支持将一个struct tm结构格式化为一个自定义格式的字符串。
* 函数原型如下:
#include <time.h>size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);* 参数说明
s : 转换结果输出buf
max :输出buf(s)的内存空间大小
format:转换后字符串的格式
tm :输入,struct tm结构的时间* format格式控制符号
%a : 星期几的简写形式
%A : 星期几的全称
%b : 月份的简写形式
%B : 月份的全称
%c : 日期和时间
...
更多格式请看man中的帮助说明* 示例:
char time_str[20] = {0};
strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M", localtime(&now));* 运行结果
2020-11-28 21:52
- strftime函数可以满足大部分需求,示例:嵌入式Http服务器goahead不支持新的RFC1123标准的时间字符串,需要自主实现,如下:
RFC1123_PATTERN = "EEE, dd MMM yyyy HH:mm:ss z"; //新式RFC1123标准的时间字符串格式
asctimePattern = "EEE MMM d HH:mm:ss yyyyy"; //当前goahead采用的时间字符串格式
* 使用strftime实现新标准
char buf[100] = {0};
strftime(buf,100,"%a, %d %b %Y %H:%M:%S %Z", &tm);
- 自定义格式字符串 - 自主实现
- 可通过sprintf函数实现自定义格式化。
格式化字符串转时间
- 自定义格式字符串 - strptime函数
- 函数支持将一个格式化字符串转换为一个struct tm结构,函数原型如下:
* 函数原型如下:
#include <time.h>char *strptime(const char *buf,const char*format,struct tm *timeptr)* 参数说明
buf : 输入的格式化时间字符串
format : 输入字符串的格式(与strftime中的格式一样)
timeptr: 输出时间转换结果
返回:返回一个指针,指向转换后的剩余字符。* 示例:
struct tm tm;
char buf[255] = "24/Aug/2011:09:42:35"; strptime(buf, "%d/%b/%Y:%H:%M:%S" , &tm); * 运行结果
tm中保存了转换后的时间
- 自定义格式字符串 - 自主实现
- 可通过sscanf函数实现自定义格式字符串转换成时间。
时间操作 - 时间格式转换相关推荐
- 日期、时间、数字格式转换
日期.时间.数字格式转换: /*** *---------------------------------------** | *** 日期.时间.数字格式转换 *** |* *----------- ...
- python mysql日期输出格式_Python/Shell/MySQL时间获取与格式转换
一.说明 时间的获取及时间各格式间的转换是比较常用的操作,但一是多种语言经常容易弄混,二是同一种语言同一个功能可能有不同的实现函数,导致每次处理时间经常要百度所以来记录一下. 另外个人真不喜欢同样功能 ...
- sql时间函数以及格式转换
文章目录 一.sql中的时间函数们 1.getdate() 2.dateadd(type,num,date) 3.datediff(type,date1,date2) 4.datepart(part, ...
- datepick二格式 化时间_Date日期格式转换
1 Date 1.1 概述(是什么) 表示特定的瞬间 精确到毫秒 1秒=1000毫秒 查询手册 拥有多个构造函数 但是4个已经过时 剩下的两个可以把毫秒值转成日期对象 Date(); ...
- Go time 时间的各种格式转换
比如2020-07-15T16:00:00.000Z 转成 2020-07-15 16:00:00 strTime := "2020-07-15T16:00:00.000Z"t1, ...
- oracle时间24小时格式转换,在oracle数据库中查询时间并转为24小时制--------------String转Date类型或者Date转String类型...
1.在Oracle数据库中查询时间的时候,首先就是把日期从date类型的转化为String类型的. 2.将date类型的转成String类型的,直接调用传入date类型的参数,返回String类型的字 ...
- java中时间入数据库格式转换_数据库中字段类型为datetime,转换成java中的Date类型...
数据类型对照 点击打开链接 JDBC: PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuer ...
- Java JSON时间处理 Jackson 的时间操作 时间序列化 Jackson Date
原文链接:Jackson Date 1. Overview 概述 In this tutorial, we'll serialize dates with Jackson. We'll start b ...
- ffmpeg命令操作音频格式转换
1.转MP3为wav ffmpeg -i input.mp3 -acodec pcm_s16le -ac 2 -ar 44100 output.wav 2.转m4a为wav ffmpeg -i inp ...
- “2019-04-25T16:00:00.000+000”时间格式转换 (IE兼容问题)
转化时间一般使用new Date() function format(date){ var data = new Date(date); var year = date.getFullYear(); ...
最新文章
- [C++STL]C++实现queue容器适配器
- 论文小综 | Pre-training on Graphs
- 随机样本一致性:一种用于图像分析和自动制图的模型拟合模型(3)--(P3P的迭代解)
- 爆火的Java面试题-kafka源码解析与实战豆瓣
- Iplimage设置感兴趣区域(ROI)
- vc2017 c语言运行,vc++2017下载|vc++2017运行库 32位64位 官方版 - 软件下载 - 绿茶软件园|33LC.com...
- jsp代码编写简单的BBS论坛项目的总结
- bigemap如何下生成CGCS2000坐标系等高线
- 循环矩阵求特征值的方法
- et al和etc区别
- 通过Xcode中的Packetlogger抓取iPhone蓝牙交互封包
- [附案例]如何运营私域流量,提升用户终身价值,降低整体获客成本?
- dht11 python mysql_自己动手实现智能家居之温湿度数据采集存储(DHT11,MySql)
- 将家安在天涯,将这儿作为副战
- 9 本优秀的 R 语言免费电子书
- HDU4685:Prince and Princess(二分图匹配+tarjan)
- 大数据舞台中的Flink
- C#网站图片下载器,网络爬虫,仅供学习参考使用,不可用于商业活动
- css3中的景深,3d,和动画效果
- 给你的钥匙贴个标签,就不用担心找不到了
热门文章
- Junit单元测试的基本步骤
- 2核4G阿里云服务器被黑客抓鸡??然鹅一个操作就搞定
- 手动解除加密文件夹 lockdir产生的文件com1.{d3e34b21-9d75-101a-8c3d-00aa001a1652}
- centos6.3 mysql安装_CentOS 6.3 安装MySQL-5.7.10
- Resource Hacker软件更换应用图标
- 【Sql Server 数据导出】导出篇-Sql Server 2008导出数据至wps
- Windows PowerShell命令大全
- 国家测绘局制定的测绘与地理信息行业标准统计 (20110706)
- 【LED灯屏控制器】国产FPGA之 AG10KSDE176 初探(1)
- 小米浏览器地址栏欺骗漏洞原理与利用分析