/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庫它已經給你 –