2017-03-29 92 views
3

有沒有辦法從node.js服務器設置操作系統上的日期/時間?Node.js - 設置系統日期/時間

有很多關於如何更改時區的例子,但我需要改變PC的

+0

改變時間的目的是什麼? – str

+1

@mplungjan這是一個重複的問題?你是否甚至不屑於閱讀你所說的重複的問題? –

+0

Node.js服務器運行的計算機必須與網絡上的其他PC保持時間一秒鐘左右。 –

回答

0

我的答案是基於的MIMOUNI的回答https://stackoverflow.com/a/23156354/1799272的@在不同問題的實際日期/時間,我只是因爲棄用而將包含sys的內容更改爲util。

此外,由於我們的實施和要求(如果時間不對,我們啓動其他Windows服務),我導入了'node-windows'。不過,如果您只想使用內置的npm功能,則歡迎您查看是否可以提升沒有此用戶。

基本上你有3個重要的步驟:

  1. 轉換STR/INT的日期你想
  2. 的日期格式正確
  3. 運行提升的命令

這裏如下:

const sys = require('util') 
const win = require('node-windows') 

dateTime = new Date(time) //Convert string or number to date 
let day  = dateTime.getDate() 
let month = dateTime.getUTCMonth() + 1 
let year = dateTime.getFullYear() 
let updateD = `${year}-${month}-${day}` //Format the string correctly 

//Add a callback function (this can be somewhere else) 
function execCallback(error, stdout, stderr) { 
    if (error) { 
     console.log(error) 
    } else { 
     console.log(stdout) 
    } 
} 
var exec = win.elevate(`cmd /c date ${updateD}`,undefined, execCallback); 

如果您想設置時間,請將日期替換爲執行時間時間

相關問題