在我的 PC 中,RTC 不工作,所以我希望使用curl命令从服务器获取日期和时间,或者是否有可能在 PC 中没有 RTC 的情况下获取日期和时间。日期和时间所需的格式为DDMMYYYYHHMMSS.
首先,curl发出 http(s) 请求。假设您有一个网络服务器在机器上侦听,那么您有 2 个选择:
创建一个脚本 (php/asp/node),为您提供日期和时间作为对请求的响应。
从服务器响应头中获取时间。
curl -v https://google.com/
Run Code Online (Sandbox Code Playgroud)
这会给你除其他外,像这样的一条线
...
< Date: Wed, 02 Mar 2016 18:39:13 GMT
...
Run Code Online (Sandbox Code Playgroud)
有了这个结果,您就可以解析并转换为您想要的格式。
dateFromServer=$(curl -v --silent https://google.com/ 2>&1 \
| grep Date | sed -e 's/< Date: //'); date +"%d%m%Y%H%M%S" -d "$dateFromServer"
Run Code Online (Sandbox Code Playgroud)
您必须注意 GMT 与当地时间的差异,并根据您的需要进行调整。
2018
年 11 月 26 日更新:正如@SopalajodeArrierez 所指出的,当证书未更新或时间与正确值相差很远时,无法运行此程序,因此--insecurecurl 命令需要这些选项。
dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 \
| grep Date | sed -e 's/< Date: //'); date +"%d%m%Y%H%M%S" -d "$dateFromServer"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35876 次 |
| 最近记录: |