2014年5月14日 星期三

【C++】Date and Time Format 時間與日期格式

Style 1 : General

#include <ctime>

time_t rawtime;
struct tm *timeinfo;
char buffer[100];
time (&rawtime);
timeinfo = localtime(&rawtime);
strftime(buffer, sizeof(buffer),"%d:%m:%Y %I:%M:%S"
            , timeinfo);
std::string str(buffer);
std::cout << str << std::endl;
//14:05:2014 04:05:51


Style 2: Add GMT(+0)



#include <ctime>

time_t rawtime = time(0);
tm *timeinfo = gmtime(&rawtime);
char* buffer = asctime(timeinfo);
std::cout << buffer << std::endl;
//Wed May 14 08:05:51 2014

Style 3 : List of HTTP header fields

#include <ctime>

time_t rawtime;
std::time_t t = std::time(&rawtime);
char buffer[100];
std::strftime(buffer, sizeof(buffer), "%a, %d %b %Y %X GMT"
                , std::gmtime(&t));
std::string str(buffer);
std::cout << str << std::endl;
//Wed, 14 May 2014 08:05:51 GMT


自定顯示規格可調用以下Function
std::size_t strftime( char* str, std::size_t count, const char* format, std::tm* time );
  • %a 縮寫星期    Thu
  • %A 星期    Thursday
  • %b 縮寫月份    Aug
  • %B 月份    August
  • %y 縮寫年份    01(00-99)
  • %Y 年份    2001
  • %d 日期    23(01~31)
  • %H 24小時制    14(00~23)
  • %I 12小時制    02(01~12)
  • %j 365天制    235(001~366)
  • %M 分鐘    55(00~59)
  • %S 秒鐘    02(00~61)
  • %x 顯示日期    08/23/01
  • %X 顯示時間    14:55:02
  • %n 換行('\n')
  • %p AM or PM    PM
參考來源:

0 意見:

張貼留言