傳回值的字串依配置的格式來決定。若有傳入時間戳記值,則將時間戳記格式化返回;若無傳入時間戳記值,則將目前伺服器的時間本地格式化返回。月份或者星期名稱隨著本地語系配置 setlocale() 的不同而改變。
返回的字串可以依下列的格式而定:
- %a 星期幾的縮寫。
- %A 星期幾的全名。
- %b 月份名稱的縮寫。
- %B 月份名稱的全名。
- %c 本地端日期時間較佳表示字串。
- %d 用數字表示本月的第幾天 (範圍為 00 至 31)。
- %H 用 24 小時制數字表示小時數 (範圍為 00 至 23)。
- %I 用 12 小時制數字表示小時數 (範圍為 01 至 12)。
- %j 以數字表示當年度的第幾天 (範圍為 001 至 366)。
- %m 月份的數字 (範圍由 1 至 12)。
- %M 分鐘。
- %p 以 'AM' 或 'PM' 表示本地端時間。
- %S 秒數。
- %U 數字表示為本年度的第幾周,第一個星期由第一個周日開始。
- %W 數字表示為本年度的第幾周,第一個星期由第一個周一開始。
- %w 用數字表示本周的第幾天 ( 0 為周日)。
- %x 不含時間的日期標記法。
- %X 不含日期的時間標記法。
- %y 二位元字表示年份 (範圍由 00 至 99)。
- %Y 完整的年份數字表示,即四位元。
- %Z 時區或名稱縮寫。
- %% % 字元。
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *ptr;
time_t lt;
char str[80];
lt=time(NULL);
ptr=localtime(<);
strftime(str,100,"It is now %I %p\n\n",ptr);
printf(str);
struct tm *newtime;
char tmpbuf[128];
time_t lt1=time(NULL);
newtime=localtime(<1);
strftime( tmpbuf, 128, "Today is %A, day %d of %B in the year %Y.\n", newtime);
printf(tmpbuf);
getchar();
return 0;
}