javascript - 使用 nodejs 更改系统/操作系统时间
问题描述
有没有可以改变系统时间的方法/库?就我而言,我需要更新 linux 机器(Debian)的时间。我知道有一种方法可以使用 shell 命令设置时间,我要问的是是否有抽象库或其他方式?
解决方案
如果您使用机器的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
.
推荐阅读
- javascript - 细分饼图部分 Google Charts
- c# - 如何在 blazor 类文件中重定向页面
- ios - UITableview 页脚在向下滚动时刷新?
- python-3.x - 无法将字符串转换为浮点数
- mysql - 查找一组 n 个连续数字是否在 SQL 中重复
- java - 如何设置 reactor.core.BlockingSingleSubscriber.blockingGet() 超时
- linux - 从 Azure Linux VM 上的脚本启动防病毒扫描
- azure - 有没有办法在部署到 azure (CD) 过程中从 CI Build 的 arm 模板文件中提取函数应用程序名称
- reactjs - Base Url 作为 IP 地址返回 Lumen 5.7
- ionic-framework - 手机锁定时通知选项卡出现空白屏幕 - IONIC