C语言日期时间标准库
用思维导图整理:

代码:
#include <stdio.h>
#include <time.h>
#include <string.h> int main()
{
/* 标准库直接支持 */
//获得运行程序的机器时间,并直接从time_t打印时间
time_t t = time(NULL);
printf("%s\n",ctime(&t)); //从time_t转换成为struct tm,使用struct tm打印时间
struct tm *ptm = localtime(&t);
printf("%s\n",asctime(ptm)); //自定义打印时间样式
const int BUF_SIZE = ;
char buffer[BUF_SIZE] = {};
strftime((char*)&buffer,BUF_SIZE,"%Y-%m-%d",ptm);
printf("%s\n",&buffer); /*将time_t转成long int储存,再读入转成time_t,打印,这个模拟的是从数据库读出再处理*/
time_t new_t = time(NULL);
printf("%s\n",ctime(&new_t));
long int stored = (long int)new_t;
time_t get_t = (time_t) stored;
printf("%s\n",ctime(&get_t)); /* 貌似可以直接初始化 struct tm ,但是我不确定和不和具体编译器有关*/
struct tm mytm;
memset(&mytm,,sizeof(mytm));
mytm.tm_year = ; //1900 年开始计数
mytm.tm_mon = ; //0~11表示1~12个月
mytm.tm_mday = ;
mytm.tm_hour = ;
mytm.tm_min = ;
mytm.tm_sec = ;
printf("%s\n",asctime(&mytm)); /* C语言里把描述日期时间的字符串转成time_t或struct tm比较困难,因为标准库不直接支持 */ return ;
}
C语言日期时间标准库的更多相关文章
- Java 8——日期时间工具库(java.time)
一.前言 在介绍Java SE 8中新的日期时间库前,先了解下Java 8之前的日期时间工具的诟病. 在Java SE 8前,日期时间工具库在java.util包中,包括: java.util.Dat ...
- c++ 11开始语言本身和标准库支持并发编程
c++ 11开始语言本身和标准库支持并发编程,意味着真正要到编译器从语言和标准库层面开始稳定,估计得到17标准出来.14稳定之后的事情了,根据历史经验,新特性的引入到稳定被广泛采用至少要一个大版本的跨 ...
- Go语言系列之标准库log
Go语言内置的log包实现了简单的日志服务.本文介绍了标准库log的基本使用. 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法.本包也提供了一个预定义的" ...
- C++时间标准库时间time
转自:http://www.cnblogs.com/yukaizhao/archive/2011/04/29/cpp_time_system_time.html (玉开) C++标准库中的时间需要引用 ...
- windows下的c语言和linux 下的c语言以及C标准库和系统API
1.引出我们的问题? 标准c库都是一样的!大家想必都在windows下做过文件编程,在linux下也是一样的函数名,参数都一样.当时就有了疑问,因为我们非常清楚 其本质是不可能一样的,源于这是俩个操作 ...
- Go语言系列之标准库fmt
fmt包实现了类似C语言printf和scanf的格式化I/O.主要分为向外输出内容和获取输入内容两大部分. 向外输出 标准库fmt提供了以下几种输出相关函数. Print Print系列函数会将内容 ...
- C语言笔记 14_标准库&assert&ctype&errno&float&limits
C 标准库 <assert.h> 简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息. 已定义的宏 ass ...
- Go语言系列之标准库ioutil
ioutil标准库中提供了一些常用.方便的IO操作函数 一.相关方法 func ReadAll(r io.Reader) ([]byte, error) func ReadDir(dirname st ...
- C语言笔记 16_标准库&stdio&stdlib&string&time
<stdio.h> 简介 stdio .h 头文件定义了三个变量类型.一些宏和各种函数来执行输入和输出. 库变量 下面是头文件 stdio.h 中定义的变量类型: 序号 变量 & ...
随机推荐
- Manacher马拉车
俗话说:摩托再好,不如骡拉啊(好像不是骡) Manacher就是O(N)计算最长回文子串的算法. 其中我们需要在0位置加入字符“$",然后原字符串中每两个字符加入一个"#" ...
- CCI_chapter 13C++
13.9Write a smart pointer (smart_ptr) class template<class T>class SmartPoint{ public: SmartPo ...
- 深入理解7816(4)---关于T=1
之前说过的T=0协议,基本上相当于是透明的数据,也就是说从应用的角度看,通过T=0传递的TPDU数据信息大都可以直接转换为对应的APD命令响应数据,“字节”是T=0协议最小的数据传输单元. 对于T=1 ...
- mv,Directory not empty不能目录覆盖
一.mv /test1/* /test2/test1rm -rf /test1 二. You can however use rsync with the --remove-source-files ...
- ACM2136
/* Problem Description Everybody knows any number can be combined by the prime number. Now, your tas ...
- Mysql--mysqldump命令 备份数据库
mysqldump命令用来备份数据库. mysqldump命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目录下执行. 1) 导出整个数据库(导出文 ...
- Leetcode:linked_list_cycle
一. 题目 给定一个链表.确定它是否有一个环.不使用额外的空间? 二. 分析 1. 空链表不成环 2. 一个节点自环 3. 一条链表完整成环 思路:使用两个指针,一个每次往前走2步,一 ...
- C++内存分配的五种方法
在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数 ...
- oracle 双机热备,oracle dataguard 和oracle rac的区别和联系(转)
Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目 ...
- 命令行下如何安装VMware Tools并与windows资料共享
安装VMware Tools: 选择菜单栏“虚拟机”——“安装VMware tools” ,等待系统自动更换ISO光盘 mount /dev/cdrom /mntcd /mnttar zxvf VMw ...