2014-06-25 152 views
-1

該程序給出當前日期&時間。更新系統時間C

有沒有辦法改變只有當系統日期=(由用戶定義)系統時間

#include <stdio.h> 
#include <time.h> 

int main(void) { 

    time_t rawtime; 
    struct tm* time_; 

    time(&rawtime); 
    time_ = localtime(&rawtime); 

    printf("%i:%i:%i %i %i %i\n", time_->tm_hour, time_->tm_min, 
      time_->tm_sec, time_->tm_mday, time_->tm_mon+1, 
      time_->tm_year+1900); 

    getchar(); 
} 
+1

C和C++是兩種不同的語言。決定使用哪一個。 –

+0

簡單的:p – user3274352

+0

使用[](http://en.cppreference.com/w/cpp/chrono)在C++中檢索*時間。 *更改操作系統時間取決於操作系統。那麼,你的目標是什麼操作系統? – Drop

回答

1

設置Windows下的系統時間是有點複雜得多,它可能最初看起來的那樣。很少有程序有理由這樣做,所以即使運行在具有權利的帳戶下運行的代碼仍然必須啓用權限SE_SYSTEMTIME_NAME)才能這樣做。

要啓用該權限,您可以使用OpenProcessToken,然後使用AdjustTokenPrivileges(當使用該令牌時使用CloseHandle)。然後您可以使用SetSystemTime設置時間。