gpt4 book ai didi

c++ - 将文本日期和时间转换为 ATL::CTime

转载 作者:行者123 更新时间:2023-11-30 00:44:35 25 4
gpt4 key购买 nike

给定文本日期和时间,例如:

Sat, 13 Jan 2018 07:54:39 -0500 (EST)

如何将其转换为 ATL / MFC CTime

函数应该返回(以我的例子为例):

CTime(2018,1,13,7,54,39) 

GMT/UTF 或 plus the time zone

更新:

我尝试编写以下函数,但似乎 ParseDateTime() 总是失败。

CTime DateTimeString2CTime(CString DateTimeStr)
{
COleDateTime t;
if (t.ParseDateTime(DateTimeStr))
{
CTime result(t);
return result;
}
return (CTime)NULL;
}

最佳答案

作为手动解析的替代方法,您可以使用 COleDateTime Class , 它是成员 COleDateTime::ParseDateTime :

bool ParseDateTime(  
LPCTSTR lpszDate,
DWORD dwFlags = 0,
LCID lcid = LANG_USER_DEFAULT) throw();

来自文档:

The lpszDate parameter can take a variety of formats.
For example, the following strings contain acceptable date/time formats:

"25 January 1996"
"8:30:00"
"20:30:00"
"January 25, 1996 8:30:00"
"8:30:00 Jan. 25, 1996"
"1/25/1996 8:30:00" // always specify the full year,
// even in a 'short date' format

如果需要,您可以从那里转换为 CTime

关于c++ - 将文本日期和时间转换为 ATL::CTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com