`

C语言格式化输出系统时间

 
阅读更多

源自:http://blog.csdn.net/jiadelin/article/details/2916329  部分代码有改动

我们可以使用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(NULL);
ptr=localtime(&lt);
strftime(str,100,"It is now %I %p",ptr);
printf(str);
return 0;
}

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

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

#i nclude 
#i nclude 

void main( void )
{
          struct tm *newtime;
          char tmpbuf[128];
          time_t lt1;
          lt1 = time(NULL);
          newtime=localtime(&lt1);
          strftime( tmpbuf, 128, "Today is %A, day %d of %B in the year %Y.\n", newtime);
          printf(tmpbuf);
}

运行结果:

Today is Saturday, day 30 of July in the year 2005.
分享到:
评论

相关推荐

    c语言学生成绩管理系统课程设计报告.doc

    课程设计报告 专 业: 自动化 班 级: 姓 名: 指导教师: 二0 一二年 十二月 二十日 《C语言程序设计》课程设计任务书 适用班级:电子信息工程、电子信息科学与技术、自动化、通信工程2011级 起止时间:2012年12月...

    C++如何获取当前系统时间及格式化输出

    本文主要使用time() 及strftime() 函数实现c++获取系统时间。 C++系统和时间相关的函数基本上都是使用C语言提供的标准接口 在程序中获取系统时间是常见的操作,很多情况下使用系统提供的time函数即可获取。 time() ...

    C语言入门经典(第4版)--源代码及课后练习答案

    10.5.1 屏幕的非格式化输出 398 10.5.2 数组的格式化输出 399 10.5.3 数组的格式化输入 400 10.6 打印机输出 400 10.7 小结 401 10.8 习题 401 第11章 结构化数据 403 11.1 数据结构:使用struct 403 11.1.1...

    北邮2021C语言航空售票系统.zip

    模块的输入输出(包含输入输出的数据描述及数据结构或存储格式描述)模块的接口描述(包含接口名字、接口参数名、参数类型、参数描述,返回值名,返回值类型、返回值描述,接口的作用) 每个功能的边界情况描述及处理...

    C语言课程设计运动会成绩管理系统.doc

    课程设计任务书 题目:运动会成绩管理系统 一、课程设计时间 共计1周,20学时。 二、课程设计内容 用C语言编写软件完成以下任务: 1 录入运动员信息; 2 按项目查询运动员成绩; 3 按系排名(参照运动员的总成绩)。...

    C语言数据结构职工管理系统.cpp

    // (2)能对输入的数据进行简单的校验,例如,入厂时间必须是合法的日期格式,职工号是唯一的(一个职工号对应一个职工的职工信息)。 //输出要求: // (1)应用程序运行后,要在屏幕上显示一个菜单。 // (2)要求...

    C语言程序设计标准教程

    格式化读写函数:fscanf和fprinf  下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。字符读写函数fgetc和fputc字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个...

    c语言经典案例

    实例134 设置DOS系统时间 174 实例135 读取并设置BIOS的时钟 175 实例136 任意大写字母转小写 176 实例137 字符串复制到指定空间 176 实例138 查找位置信息 177 实例139 复制当前目录 179 实例140 产生唯一文件 180 ...

    c语言时间片

    <br>(5)由于本实验是模拟实验,所以对被选中进程并不实际启动运行,而只是执行:估计运行时间减1、输出当前运行进程的名字。用这两个操作来模拟进程的一次运行。 <br>(6)进程运行一次后,以后的调度则将...

    c语言工资管理系统课程设计报告.doc

    用文件保存职工信息时,对printf不熟悉,造成使用格式错误,输出容不符合,通 过仔细核对书上的格式才改掉。 5. 在读取信息时,不会用scanf,是程序的运行结果混乱,造成职工信息错位,或是 直接输出0.00等。 六、...

    c语言经典源码例子100篇

    实例53 格式化输出函数 实例54 格式化输入函数 实例55 打开和关闭文件 实例56 fputc()和fgetc() 实例57 函数rewind() 实例58 fread()和fwrite() 实例59 fprintf()和fscanf() 实例60 随机存取 实例61 错误处理 实例62...

    C语言课程设计图书管理系统课程设计报告.doc

    C语言课程设计 "图书管理系统 " "Books Management System " "学生姓名 " " "学院名称 " " "学号 " " "班级 " " "专业名称 "计算机科学与技术 " "指导教师 " " "2016年 "5月 "10日 " 一、需求分析 为了满足图书管理...

    c语言图书管理系统课程设计报告(1).doc

    C语言课程设计报告 2011~2012学年第2学期 课 程:C语言课程设计 课程设计名称:图书管理系统 2012年05月04日 一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利 。...

    C语言时间器

    用time()来取得时间,ctime来格式化输出, 其原理就是从系统获得时间,我会吧关键函数注释首先打开VC++文件》》新建新建一个C++文档先声明头文件#include<stdio.h>#include<math

    你必须知道的495个C语言问题

    第1章 声明和初始化 基本类型 1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的...

    《你必须知道的495个C语言问题》

    《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...

Global site tag (gtag.js) - Google Analytics