/DD/YYYY我使用下面的代码使用C++获取当前时间在C++
CTime date;
date = date.GetCurrentTime();
this->m_headerDate.SetTime(&date);
这将让日期和将其设置为控制设定的时间在MFC日期控件以什么格式用户机器使用。但我想将其设置为仅限mm/dd/yyyy的格式。 在MFC中应该有这样做的一些方法。有没有任何实用功能?
感谢,
/DD/YYYY我使用下面的代码使用C++获取当前时间在C++
CTime date;
date = date.GetCurrentTime();
this->m_headerDate.SetTime(&date);
这将让日期和将其设置为控制设定的时间在MFC日期控件以什么格式用户机器使用。但我想将其设置为仅限mm/dd/yyyy的格式。 在MFC中应该有这样做的一些方法。有没有任何实用功能?
感谢,
如果你在谈论得到的日期/时间特定的文字表述,可以用strftime()
以许多不同的方式,包括在你的问题中指定的一个格式化的日期。
您需要使用ctime
标题中的设施,才能使用time_t
类型的变量。所以你可以切换到使用那些时间,或者我相信CTime::GetTime()
会给你一个。
但是,如果你在谈论迫使控制来显示它的日期/时间以特定的格式,这就是控制本身的属性。例如,CDateTimeCtrl
提供了一个SetFormat()
方法,该方法将修改其显示其数据的方式。
如果Strptime()是在不同的图书馆吗?我更喜欢用CTIME做。我发现了一个CTIME函数调用格式,我用,如果我能得到想要的格式,不论系统的日期 –
@Sri,这是_standard_ C++玩,你只需要包含头。你可以继续使用'CTime',因为它有一个功能,可以给你相应的'time_t'。 – paxdiablo
没有MFC:
#include <iostream>
#include <ctime>
using namespace std;
int main() {
const int MAXLEN = 80;
char s[MAXLEN];
time_t t = time(0);
strftime(s, MAXLEN, "%m/%d/%Y", localtime(&t));
std::cout << s << '\n';
}
随着MFC:
这个函数格式化日期的日期字符串指定的区域设置。该函数格式化指定日期或本地系统日期。在CString
可变
int GetDateFormat(
LCID Locale,
DWORD dwFlags,
CONST SYSTEMTIME* lpDate,
LPCTSTR lpFormat,
LPTSTR lpDateStr,
int cchDate
);
change LPCTSTR lpFormat to MM:dd:yyyy
这里我存储值试试这个代码:
CString strTime;
CTime date;
date = GetCurrentTime();
strTime = date.Format(_T("%m/%d/%Y"));
我发现这样做的方式......不知道这不过是最简单的方法 由于我们已经有了日期时间控件,所以我们只能使用DatetimeControl的Setformat函数。 PFB的一个例子
CDateTimeCtrl m_DateTimeCtrl;
m_DateTimeCtrl.SetFormat(_T("MM/dd/yyyy"));
以上将设置它的格式为所需的01/14/2015。感谢Paxdiablo,Himanshu和Irrational Person提供的信息。他们确实用不同的选择指向了正确的方向。
为什么不使用的ctime库它已经给你 –