Изменить время системы / ОС с помощью nodejs - PullRequest
0 голосов
/ 27 сентября 2019

Есть ли способ / библиотека, которая может изменить системное время?В моем случае мне нужно обновить время на машине с Linux (Debian).Я знаю, что есть способ установить время с помощью команды оболочки, я спрашиваю, есть ли библиотека абстракций или другой способ?

1 Ответ

0 голосов
/ 27 сентября 2019

Это довольно просто, если вы используете команду date вашей машины.Однако для этого вам нужно вызвать системную команду из сценария NodeJS.Это возможно с помощью команды NodeJS exec.Вы можете прочитать больше об этом здесь .По сути, это способ вызова системной функции из вашего кода NodeJS.Он работает асинхронно, поэтому требуется обратный вызов с NodeJS error, stdout и stderror.

const { exec } = require('child_process');

const timestamp = '20190927 10:00:00';

exec(`/bin/date --set="${timestamp}"`, (err, stdout, stderr) => {
  if (err || stderr) {
    console.error(err);
    console.log(stderr);
  } else {
    console.log(stdout);
    console.log(`Successfully set the system's datetime to ${stdout}`);
  }
}));

Скорее всего, у вас не будет $PATH в наличии.Поэтому вам нужно будет указать точный путь к дате.Вы можете найти это, запустив which date в терминале и скопировав вывод в оператор exac.Для моего компьютера с Ubuntu 18.04 он находится в /bin/date.

...