c&c++ datetime
struct tm
{
int tm_sec; // 代表目前秒数,正常范围0-59,但允许至61秒;
int tm_min; // 代表目前分数,范围为0-59。
int tm_hour; // 从午夜算起的小时数,范围为0-23。
int tm_mday; // 目前月份的日数,范围为1-31。
int tm_mon; // 代表目前月份,从一月算起,范围为0-11。
int tm_year; // 从1900年算起至今的年数。比如(时间戳1970-01-02 10:23:09,该值为70)。
int tm_wday; // 一星期中的日数,从星期日算起,范围为0-6。
int tm_yday; // 从1月1日算起至今的天数,范围为:0-365。
int tm_isdst; // 日光节约时间的旗标。
};
#include <time.h>
time_t time(time_t * t);
此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t并非空指针的话,此函数也会将返回值存到t指针所指的内存。如果失败则返回((time_t)-1)。 #include <time.h>
struct tm * gmtime(const time_t * timep);
该函数将参数timep所指的time_t结构中的信息转换成真实世界所使用的日期表示方法,然后将结果由结构tm返回。该返回值代表目前的UTC时间。 #include <time.h>
struct tm * localtime(const time_t * timep);
该函数将参数timep所指的time_t结构中的信息转换成真实世界所使用的日期表示方法,然后将结果由结构tm返回。该返回值代表目前的当地时区的当地时间。 #include <time.h>
time_t mktime(struct tm * timeptr);
该函数将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起的至今的UTC时间所经过的秒数。 #include <time.h>
size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);
该函数将参数tm,依照参数format所指定的字符串格式做转换,转换后的字符串复制到参数s所指的字符串数组中,该字符串的最大长度为参数max所控制。 #include <time.h>
char *strptime(const char *s, const char *format, struct tm *tm);
该函数将参数s所指定的按一定格式要求编制的字符串,根据格式化参数format,转换成tm结构的值。如果分析错误,返回NULL。
参数 | 含义 |
%a | 星期几的简写 |
%A | 星期几的全称 |
%A | 星期几的全称 |
%b | 月分的简写 |
%B | 月份的全称 |
%c | 标准的日期的时间串 |
%C | 年份的前两位数字,比如1997年表示为:19 |
%d | 十进制表示的每月的第几天,表示法为:01-31 |
%D | 格式为“月/天/年”表示时间。相当于“%m%d%y”格式。例如“19970701” |
%e | 十进制表示的每月的第几天(不补0),表示法为:1-31。 |
%F | 使用“%Y-%m-%d”格式表示日期。例如“1997-07-01”。 |
%g | 年份的后两位数字,比如1997年表示为:97 |
%G | 完整的公元年份表示,比如1997年表示:1997 |
%h | 同“%b”一样,简写的月份名。 |
%H | 以24小时制表示小时数(00-23)。 |
%I | 以12小时制表示小时数(01-12)。 |
%j | 十进制表示一年中的天数(001-366)。 |
%k | 同“%H”,表示法为:0-23 |
%l | 同“%I”,表示法为:1-12。 |
%m | 十进制表示的月份,表示法:01-12。 |
%M | 十时制表示的分钟数,表示法:00-59。 |
%n | 同“\n”,换行。 |
%p | 本地AM或PM的等价显示。 |
%P | 同“%p”相似,但使用小写的am和pm来表示。 |
%r | 相当于使用“%I:%M:%S %p”格式,例如:“08:31:50 PM”。 |
%R | 相当于使用“%H:%M”格式,例如:“22:31”。 |
%S | 十进制的秒数,表示法:00-59。 |
%t | 水平制表符,同“\t” |
%T | 24小时时间表示,相当于“%H:%M:%S”格式。 |
%u | 一星期中的星期日期,范围:1-7,星期一从1开始。 |
%U | 一年中的星期数,范围:00-53,一月第一个星期日开始为01。 |
%V | 一年中的星期数,范围:00-53,一月第一个星期一开始为01。 |
%w | 一星期中的星期日期,范围:0-6,星期日从0开始。 |
%W | 一年中的星期数,范围:00-53,一月第一个星期一开始为01。 |
%x | 标准的日期串。比如2017年1月2日,表示成:"01/02/17"。 |
%X | 标准的时间串。比如2017年1月2日10点23分9秒,表示成:“10:23:09”。 |
%y | 不带世纪的十进制年份(值从0到99) |
%Y | 带世纪部分的十制年份 |
%z,%Z | 时区名称,如果不能得到时区名称则返回空字符。 |
%% | 百分号 |
关于%U参数:
比如2017年的1月1日是星期日,使用%U得到的值是“01”
比如2016年的1月1日是星期五,使用%U得到的值是“00”
关于%V参数:
比如2017年的1月1日是星期日,使用%V得到的值是“52”
比如2017年的1月1日是星期一,使用%V得到的值是“01”
比如2016年的1月1日是星期五,使用%V得到的值是“53”
1.20170720 更新时间函数关系图;
c&c++ datetime的更多相关文章
- C# DateTime与时间戳转换
C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳: ...
- C# DateTime日期格式化
在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...
- 在面试中忽然发现DateTime的一些...
今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...
- LINQ to SQL语句(14)之Null语义和DateTime
Null语义 说明:下面第一个例子说明查询ReportsToEmployee为null的雇员.第二个例子使用Nullable<T>.HasValue查询雇员,其结果与第一个例子相同.在第三 ...
- .NET DateTime类型变量作为参数时设置默认值
一个小的 Tips. .NET 中函数参数的默认值需要是编译时常量.如果参数是引用类型,可以设置Null,如果是值类型,可以设置相应的编译时常量,如整型可以用整数,但对于DateTime(结构体,值类 ...
- BCS datetime 时间区间问题
BCS 整合sql表时发现以下问题: datetime字段在列表中带了时区,比如插入12-6号的数据,在sql中显示的是12-5 date类型字段无法正确识别,插入成功但报错 LobSystem (外 ...
- C#中DateTime.Ticks属性及Unix时间戳转换
1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). ...
- WPF 自定义DateControl DateTime控件
自定义日期控件,月份选择.如下是日期的一些效果图. 具体的样式.颜色可以根据下面的代码,自己调节即可 1.日期控件的界面 <UserControl x:Class="WpfApp ...
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...
- python标准模块(time、datetime及hashlib模块)
一.time,datetime模块 时间相关的操作 import time time.sleep(5) # ==> 停顿多少秒 print(time.time()) # ==> 返回时间戳 ...
随机推荐
- EFM32JG系列MCU内部温度传感器使用方法
在很多电子类应用场合中,我们经常需要采集产品工作的周围环境温度,一般采取的方式有两种: 1)外加温度传感器 2)采用MCU内部温度传感器 外加温度传感器会增加产品的成本以及布板空间,所以在很多场合,我 ...
- promise两个参数的具体作用
Promise通常配合then方法来链式的使用,then方法里面第一个回调函数表示成功状态,也就是resolve通过.then调用,第二个是失败状态-reject通过.Cath调用,如果默认写一个参数 ...
- c语言字符处理函数常见使用集合
1.最近看一些开源项目代码时,总会看到 c 语言中一些 "str" 开头的处理字符串的用法,有的之前没用到过,特此记录,随时看到随时添加. 这里不提出源码,只是一些使用说明加例子 ...
- windows开dump
右键计算机—>属性—>高级系统设置——>设置——点击高级—>更改——>自定义大小(1024~2048)——设置保存
- PHP 开发环境搭建
1. PHP (1) download PHP and extra the zip file to the folder “C:\tools\php” (2) add the path “;C:\to ...
- Json -- 语法和示例,javascript 解析Json
1. 语法 JSON(JavaScriptObject Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不 ...
- scala学习手记18 - Any和Nothing
Any 前面已经有两次提到过:在scala中,Any类是所有类的超类. Any有两个子类:AnyVal和AnyRef.对应Java直接类型的scala封装类,如Int.Double等,AnyVal是它 ...
- 探秘DPDK Virtio的不同路径
什么是Vhost/Virtio Vhost/Virtio是一种半虚拟化的设备抽象接口规范, 在Qemu和KVM中的得到了广泛的应用,在客户机操作系统中实现的前端驱动程序一般直接叫Virtio, 在宿主 ...
- define用于条件编译
格式: #ifndef _test.h_ //这里放不想被重复包含的代码 #define _test.h_ #endif define用于条件编译的意思是不想让头文件重复编译,头文件重复编译会造成的结 ...
- .net操作Oracle数据库步骤及方法
1.首先安装PL/SQL Developer Oracle客户端软件 2.安装Oracle Instant Client(即时客户端) 安装与配置 配置环境变量ORAClE HOME 地址为insta ...