用同一块buffer,通过下面两个程序测试出来.
#include <iostream>;
#include <time.h>;
using namespace std;
int main()
{
time_t now;
char * ptime;
if(time(&now)<0)
{
cout << "error\n" << endl;
exit(-1);
}
#ifdef _AIX
ptime = asctime(gmtime((time_t *)&now));
#else
ptime = asctime(gmtime((long *)&now));
#endif
cout << now << endl;
cout << ctime(&now) << endl;
cout << now << endl;
cout << ptime << endl;
printf("haha\n ");
return 0;
}
#include <iostream>;
#include <time.h>;
using namespace std;
int main()
{
time_t now;
char * ptime;
if(time(&now)<0)
{
cout << "error\n" << endl;
exit(-1);
}
cout << now << endl;
cout << ctime(&now) << endl;
#ifdef _AIX
ptime = asctime(gmtime((time_t *)&now));
#else
ptime = asctime(gmtime((long *)&now));
#endif
cout << now << endl;
cout << ptime << endl;
printf("haha\n ");
return 0;
}
localtime()和gmtime()之间的区别是:localtime将日历时间转换成本地时间(考虑到本地时区和夏时制标志),而gmtime则将日历时间转换成国际标准时间的年、月、日、时、分、秒、周日。它们的定义如下:
struct tm* gmtime(const time_t* mem);
struct tm* localtime(const time_t* mem);
函数mktime()则正好相反,它是以存放有本地时间年、月、日等的tm结构作为参数,将其转换成time_t类型的秒值。mktime()函数的定义是:
time_t mktime(struct tm* tmptr); //成功返回日历时间,失败则返回-1
函数asctime()和ctime()可以获得人们可读的时间字符串,表示形式如同使用date命令所获得的系统默认的时间输出形式。它们的定义如下:
char* asctime(const struct tm* tmptr);//参数是指向存放有本地时间年、月、日等的tm结构的指针
char* ctime(const time_t* mem); //参数是指向日历时间的指针
函数strftime()是最为复杂的时间函数,可用于用户自定义时间的表示形式。函数strftime()的定义如下:
size_t strftime(char* buf, size_t maxsize, const char* format,
const struct tm* tmptr); //有空间则返回所存入数组的字符数,否则为0
自 定义格式的结果存放在一个长度为maxsize的buf数组中,如果buf数组长度足以存放格式化结果及一个null终止符,则该函数返回在buf数组中 存放的字符数(不包括null终止符),否则该函数返回0。format参数用于控制自定义时间的表示格式,格式的定义是在百分号之后跟一个特定字符, format中的其他字符则按原样输出。其中特别应注意的是,两个连续的百分号则是表示输出一个百分号。常用的定义格式如下表所示。
格式
|
说明
|
例子
|
% a
|
缩写的周日名
|
Tue
|
% A
|
全周日名
|
Tuesday
|
% b
|
缩写的月名
|
Jan
|
% B
|
月全名
|
January
|
% c
|
日期和时间
|
Wed Aug 17 19:40:30 2005
|
% d
|
月日:[01, 31]
|
14
|
% H
|
小时(每天2 4小时):[00, 23]
|
19
|
% I
|
小时(上、下午各1 2小时[01, 12]
|
07
|
% j
|
年日:[001, 366]
|
014
|
% m
|
月:[01, 12]
|
01
|
% M
|
分:[00, 59]
|
40
|
% p
|
A M / P M
|
PM
|
% S
|
秒:[00, 61]
|
30
|
% U
|
星期日周数:[00, 53]
|
02
|
% w
|
周日:[ 0 =星期日,6 ]
|
2
|
% W
|
星期一周数:[00, 53]
|
02
|
% x
|
日期
|
08/17/05
|
% X
|
时间
|
19:40:30
|
% y
|
不带公元的年:[00, 991]
|
05
|
% Y
|
带公元的年
|
2005
|
% Z
|
时区名
|
MST
|
分享到:
相关推荐
`CTime`是C++标准库中的一个类,主要用于处理日期和时间。在Microsoft Visual C++(VC++)环境中,`CTime`是MFC...通过理解`CTime`的用法和MFC的定时器机制,开发者可以创建出各种与时间相关的实用应用程序。
在C++编程中,自定义类是扩展标准库功能或创建特定业务逻辑的重要方式。`CTime`类的实现展示了如何构建一个...通过这样的自定义类,我们可以更方便地管理和操作日期时间数据,同时也能加深对C++特性和编程技巧的理解。
CTime get_dateTime_from_u32(int date, int time); CTime get_dateTime_from_string(std::string date, std::string time);//字符串不带分隔符 CTime get_dateTime_from_FGFstring(std::string date, std::...
本篇文章将详细介绍如何利用MFC(Microsoft Foundation Classes)中的`CTime`类来计算时间差,并通过示例代码帮助读者更好地理解和掌握这一知识点。 #### CTime与CTimeSpan简介 `CTime`是MFC库提供的一个用于表示...
本文将深入解析`find`命令中的三个时间参数:`-atime`, `-ctime`, 和 `-mtime`,以及如何结合这些参数来定位和管理文件。 ### 1. `-atime`(访问时间) `-atime` 参数用于查找在过去n天内被访问过的文件。这里的...
`CTime`类是MFC提供的用于表示和操作日期与时间的对象,它支持各种日期时间格式以及相关的运算。 #### 2. 参数说明 - **输入参数**: - `CString strTm`:表示一个包含日期信息的字符串,该字符串的格式应为...
linux下的find命令提供了相当多的查找条件,功能很强大,由于find的功能很强大,所以他的选项也很多,今天我们来细说一下find命令下的三个时间参数atime,ctime,mtime. atime:access time,最近一次访问时间,当使用...
首先,`<ctime>`库包含了几个关键的类型和函数,如`time_t`,这是一个用于存储时间戳的类型;`time()`函数,用于获取当前时间的时间戳;`localtime()`和`gmtime()`函数,用于将时间戳转换为结构体`tm`,便于进一步...
总之,理解和掌握CTime类及其相关操作对于在C++中高效地处理时间数据至关重要。无论是获取当前时间、格式化时间还是解析时间字符串,CTime类都提供了强大的功能和灵活性,使得开发者能够轻松应对各种时间相关的编程...
在C++编程中,处理时间差值通常涉及到对日期和时间的精确操作。`CTime`是Microsoft C++ Standard Library中的一个类,它提供了一种处理时间的方式,但要注意,这不是标准C++库的一部分,而是Visual C++特有的。在本...
使用方法: 输入python ModifyAMCtime.py 文件名 可以把文件的时间进行修改。可以修改代码,完成atime、ctime、mtime的自定义修改
怎样将CString转换成CTime类型
在C++编程中,`CTime`和`CTimeSpan`是Microsoft的MFC(Microsoft Foundation Classes)库中用于处理日期和时间的类。本文将深入探讨这两个类以及如何在Visual Studio 2019(VS2019)环境下使用它们。 `CTime`类: `...
次 用法 #golang的文件时间 Go在大多数平台上都具有隐藏的... AccessTime ()) log . Println ( t . ModTime ()) if t . HasChangeTime () { log . Println ( t . ChangeTime ()) } if t . HasBirthTime () { log
在IT领域的软件开发,尤其是基于Microsoft Visual C++(VC6.0)的数据库应用程序中,数据类型之间的转换是一项常见的需求。本文将详细探讨CString...理解并掌握这些转换技巧,对于提升软件的性能和可靠性具有重要意义。
一个CTime类.一个CTime类.一个CTime类.一个CTime类.一个CTime类.
以下示例展示了如何使用 `CTime::Format` 方法来格式化日期和时间: ```cpp CTime ct = CTime::GetCurrentTime(); CString str = ct.Format("%Y-%m_%d%H-%M-%S"); // 输出为:str="2006-04-2315-21-30" ``` 在这个...
在编程中,尤其是在处理用户输入...希望这个介绍对你理解和应用这个功能有所帮助。如果你遇到更复杂的情况,比如处理不同的日期时间格式,可能需要使用更高级的库,如Boost.Date_Time或C++20引入的`std::chrono`库。
ctime 程序 [程序参数] 结果说明: Total 表示整个程序运行时间 Kernel 在内核模式下运行时间 User 在用户模式下运行时间 欢迎来信提出建议和意见! yuanhen88@hotmail.com yuanhen88@mail.china.com ...