1. 相關資料結構
首先看time.h檔案中隊time_t的定義
可以看出time_t實際上是乙個整數,它記錄了儲存的是從2023年1月1日0時0分0 秒到現在經過的秒數。這裡有一點要注意,對time_t資料型別的值來說,它所表示的時間不能晚於2023年1月18日19時14分07秒,否則會發生溢位。為了能夠表示更久遠的時間,一些編譯器廠商引入了64位甚至更長的整形數來儲存日曆時間。
首先看time.h檔案中隊time_t的定義
ansi c標準稱使用tm結構的這種時間表示為分解時間(broken-down time)。
在time.h檔案中有如下兩個函式
time_t mktime(struct tm * timeptr);
struct tm * localtime(const time_t * timer);
2. 時間加減
從上面對time_t和tm的分析你應該很容易想到如何進行時間的加減操作了吧。一種方法,我們可以對time_t型別的資料直接進行加減秒數操作。另一種方法,可以操作tm結構體內的變數。下面乙個例子實現對當前時間加30分鐘的操作。
3. 問題
上面**的執行結果第三個輸出是在第二個輸出的基礎上加了30分鐘。為什麼tmp_time變化會導致*ptime的變化。
另外#include和#include也有區別。
時間加減法
include stdafx.h include windows.h typedef struct tagmydate mydate 用於表示兩個時間之間的差值,負值表示慢,正值表示快 typedef struct tagtimedistance timedistance int month day...
好用的時間加減法
哇塞,找到乙個超級好用的關於時間的加減演算法等。大部分的時間加減是這樣寫的 date date newdate calendar cal calendar.getinstance cal.settime date 設定開始時間 cal.add calendar.year 增加一年的時間 date e...
常用的時間加減法
常用的時間加減法 echo 今天 date y m d strtotime 18 june 2008 echo 昨天 date y m d strtotime 1 day echo 明天 date y m d strtotime 1 day echo 一周後 date y m d strtotime...