程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C語言中對時間和日期的處理

C語言中對時間和日期的處理

編輯:C語言基礎知識

本文詳細介紹語言中對時間和日期的處理

Chuck Allison 是鹽湖城聖 Latter Day 教堂總部下耶稣教堂家族歷史研究處的軟件體系設計師。他擁有數學學士和數學碩士學位。他從1975年起開始編程,從1984年起他開始從事c語言的教學和開發。他目前的興趣是面向對象的技術及其教育。他是X3J16,ANSI C ++標准化委員會的一員。發送e-mail到 [email protected],或者撥打電話到 (801)240-4510 均可以與他取得聯系。

大部分的操作系統有辦法得到當前的日期和時間。通過定義在time.h的庫函數,ANSI C能以許多不同的形式得到這個信息。函數time返回一個類型為time_t的值(通常為long),該函數在運行期間對當前的日期和時間進行編碼。然後你可以將這個返回值傳遞給其他能對該值進行解碼和格式化的函數。

Listing 1 中的程序使用函數time,localtime和strftime以不同的形式輸出當前的日期和時間。函數localtime把已經編碼的時間解碼成如下的struct:struct tm
{
  int tm_sec;   /* (0 - 61) */
  int tm_min;   /* (0 - 59) */
  int tm_hour;  /* (0 - 23) */
  int tm_mday;  /* (1 - 31) */
  int tm_mon;   /* (0 - 11) */
  int tm_year;  /* past 1900 */
  int tm_wday;  /* (0 - 6) */
  int tm_yday;  /* (0 - 365) */
  int tm_isdst;  /* daylight savings flag */
};   

每次當你調用localtime的時候,它會重寫一個靜態的結構並返回該結構的地址(因此同一時刻在一個程序中只能取得一個這樣的結構,而不能做明顯的拷貝)。函數ctime返回一個指向靜態字符串的指針,該字符串以標准的格式包含了完整的時間和日期。strftime根據用戶的指定格式格式化字符串(例如,%A代表一周中每一天的名稱)。Table 1列出了格式描述符的完整列表。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved