C++ strftime() 函数

C++中的strftime()函数根据格式字符串将给定的日期和时间从给定的日历时间转换为以空结尾的多字节字符串。

strftime() 函数在<ctime>头文件中定义。

strftime() 原型

size_t strftime( char* str, size_t count, const char* format, const tm* time );

strftime() 函数有 4 个参数:str, count, format 和 time。

time指向的日期和时间信息根据format的值转换为空终止的多字节字符,存储在str指向的数组中。最多写入 count 个字节。

strftime() 参数

  • str:指向用于存储结果的字符数组的第一个元素的指针。
  • count:要写入的最大字节数。
  • format:指向指定转换格式的以空结尾的多字节字符串的指针。格式字符串由转换说明符(以%开头,可选择后跟E或O)和其他普通字符组成。包括终止空字符在内的普通字符将按原样复制到输出字符串中。
  • time:要转换的日期和时间信息。
                                             strftime() 格式说明符
转换说明符描述使用的字段
%写入字符 %
n写入换行符
t写入水平制表符
D相当于“%m/%d/%y”tm_mon, tm_mday, tm_year
F相当于“%Y-%m-%d”tm_mon, tm_mday, tm_year
R相当于“%H:%M”tm_hour, tm_min
T相当于“%H:%M:%Stm_hour, tm_min, tm_sec
P写入本地化的上午或下午(取决于区域设置)tm_hour

strftime() 返回值

  • 如果成功,则strftime()函数返回写入由str指向的字符数组的字节数,不包括结尾的‘\0’。
  • 如果在存储整个字符串之前达到Count,则返回0,并且内容未定义。

示例代码:

#define _CRT_SECURE_NO_WARNINGS
#include <ctime>
#include <iostream>
using namespace std;

int main()
{
	time_t curr_time;
	tm* curr_tm;
	char date_string[100];
	char time_string[100];

	time(&curr_time);
	curr_tm = localtime(&curr_time);

	strftime(date_string, 50, "Today is %B %d, %Y", curr_tm);
	strftime(time_string, 50, "Current time is %T", curr_tm);

	cout << date_string << endl;
	cout << time_string << endl;

	return 0;
}

结果:

 

操作上有时间的延滞。 

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三千思丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值