我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如下:

size_t strftime(
 char *strDest,
 size_t maxsize,
 const char *format,
 const struct tm *timeptr
);

我们可以根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向strDest中存放maxsize个字符。该函数返回向strDest指向的字符串中放置的字符数。

函数strftime()的操作有些类似于sprintf():识别以百分号(%)开始的格式命令集合,格式化输出结果放在一个字符串中。格式化命令说明串strDest中各种日期和时间信息的确切表示方法。格式串中的其他字符原样放进串中。格式命令列在下面,它们是区分大小写的。

%a 星期几的简写
%A 星期几的全称
%b 月分的简写
%B 月份的全称
%c 标准的日期的时间串
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年分,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
%U 第年的第几周,把星期日做为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十进制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号

如果想显示现在是几点了,并以12小时制显示,就象下面这段程序:

#include <time.h>
#include <stdio.h>
int main(void)
{struct tm *ptr;time_t lt;char str[80];lt=time(NUL);ptr=localtime(&lt);strftime(str,100,"It is now %I %p",ptr);printf(str);return 0;}

其运行结果为:
It is now 4PM

而下面的程序则显示当前的完整日期:

#include <stdio.h>
#include <time.h>int main( void )
{struct tm *newtime;char tmpbuf[128];time_t lt1;time( &lt1 );newtime=localtime(&lt1);strftime( tmpbuf, 128,  "Today is %A, day %d of %B in the year %Y./n", newtime);printf(tmpbuf);return 0;
}

运行结果:

Today is Saturday, day 30 of July in the year 2005.

转载于:https://www.cnblogs.com/Stultz-Lee/p/6699992.html

C++中strftime()的详细说明相关推荐

  1. pythonexcel介绍_Python 中pandas.read_excel详细介绍

    Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...

  2. android webview详情,Android中的WebView详细介绍

    Android中WebView的详细解释: 1. 概念: WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页. 2. 使用方法: (1).实例化 ...

  3. ASP.NET中 DropDownList+DetailsView(详细视图)的使用前台绑定

    ylbtech-ASP.NET-Control-Bind:DropDownList+DetailsView(详细视图)的使用前台绑定 ASP.NET中 DropDownList+DetailsView ...

  4. 2020-12-09 深度学习 卷积神经网络中感受野的详细介绍

    卷积神经网络中感受野的详细介绍 1. 感受野的概念 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射 ...

  5. ORACLE RAC 中 SRVCTL 命令详细说明

    ORACLE RAC 中 SRVCTL 命令详细说明           注:             RAC:     Real Application Clusters             S ...

  6. 英语中的介词详细解释

    英语中的介词详细解释 xixi2015-01-05 10:02:58 转载于:https://www.cnblogs.com/lyhabctranslate/p/4202991.html

  7. Jquery中AJAX参数详细介绍

    转载:http://www.cnblogs.com/qiufuwu618/archive/2012/12/20/2826190.html Jquery中AJAX参数详细列表: 参数名 类型 描述 ur ...

  8. php return直接输出,PHP中return用法详细解读

    原标题:PHP中return用法详细解读 在大部分编程语言中,return关键字可以将函数的执行结果返回,PHP中return的用法也大同小异,对初学者来说,掌握PHP中return的用法也是学习PH ...

  9. JavaScript异步编程【中】 -- Promise 详细解析

    文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在ES6中,新增加了一种异步编程的解决方案Promise,它是一种规范,是一套处理JavaScript异步的机制. Promise的含义 简单来说, ...

  10. Linux(二):VMware虚拟机中Ubuntu安装详细过程

    Linux(二):VMware虚拟机中Ubuntu安装详细过程 文章目录 1 准备 2 安装 2.1 虚拟机的建立 2.2 虚拟机安装Ubuntu系统 2.3 虚拟机设置 3 完成 1 准备 1.操作 ...

最新文章

  1. mpvue 引入自己创建的js 文件 到其他的文件中
  2. (十二)企业级java springcloud b2bc商城系统开源源码二次开发-断路器监控(Hystrix Dashboard)...
  3. VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credenti
  4. JavaScript 技术篇-textContent获取dom节点text文本内容带空格,js获取带空格的dom节点内容
  5. 【小项目关键技术五】控制全彩 WS2812 灯环/灯带
  6. STM32的学习记录--单个模块开发思路
  7. php mysql odbc_javascript连接mysql与php通过odbc连接任意数据库的实例
  8. res.data.data_在Data.gov进行幕后推销
  9. java 编译class_.java文件怎样编译成.class文件,你值得一看的技巧
  10. 关于Neo4j 强连通分量算法,你了解多少?
  11. spring java 定时任务_spring定时任务的几种实现方式
  12. 【linux】具体芯片MACHINE_START处理
  13. python如何下载pdfminer_在python中使用PDFMiner从PDF文件中提取文本?
  14. 清除计算机网络mac高速缓存,mac怎么清理缓存 mac缓存清理教程
  15. 【斗鱼直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)
  16. 因果图测试用例设计方法
  17. 2的10次方-1的python表达式_python计算数学表达式
  18. Web 服务寻址(WS-Addressing)对 SOAP 的隐式影响
  19. Android—在WebView中下载Blob协议文件
  20. ML:机器学习模型提效之监督学习中概率校准的简介、案例应用之详细攻略

热门文章

  1. 应邀参加51CTO专家座谈门诊——驱动开发技术探析【2008.11.20在线】
  2. 如何开发一个多种语言版本的C#程序
  3. C语言汇编-函数调用栈
  4. bonecp通过servicename连接oracle,使用Java连接池连接Oracle数据库
  5. Linux设备驱动模型-Uevent
  6. Android 多媒体开发学习之创建图片的副本
  7. v割与邮票孔_pcb板V割和邮票孔的区别
  8. DPDK QOS 3 -- rte meter令牌桶的实现
  9. ffmpeg编码个参数的设置以及作用
  10. Linux内核多线程(四)