如果是在 windows 平臺上編程, 可以這麽寫(其它平臺有類似的API)
1、包含頭文件 #include <windows.h>
2、得到當前時間, 並復制到中間變量
SYSTEMTIME now, temp;
GetLocalTime(&now);
temp = now;
3、更改中間變量的日期號, 其中 y,m,d 分別為已知的需轉化的 年 月 日,其它時間初始為0值
temp.wYear = y;
temp.wMonth = m;
temp.wDay = d;
temp.wDayOfWeek = -1;
temp.wMilliseconds = 0;
temp.wHour = 0;
temp.wMinute = 0;
temp.wSecond = 0;
3、把中間變量設為當前時間
SetLocalTime(&temp);
5、再次得到時間,其中 now.wDayOfWeek 就是 星期幾的數字,星期天為 0,星期壹為1,如此類推
GetLocalTime(&temp);
6、把系統時間設為到之前保存的值
SetLocalTime(&now);