使用的命令:
sudo timedatectl set-time "2022-04-28 16:41:50"
也可以用其他如:sudo date -s “月/日/年 10:15”
参考:Ubuntu命令行修改时间和时区_Smiling_star的博客-CSDN博客_ubuntu修改时间命令Linux的时间分为系统时间和硬件时间。一般系统时间与硬件时间不同步。系统时间:指当前Linux Kernel(内核)中的时间.硬件时间:主板上有电池供电的时间。(命令hwclock,hardware clock)查看系统时间的命令: $ date一、修改系统时间的命令:$ sudo date -s两种方式:1、一次性修改时间与日期$ sudo date -s “月/日/年 10:1...https://blog.csdn.net/Smiling_star/article/details/103079352这里我使用了ntplib获取了时间,所以要先ntplib install
具体代码如下:
import os
import ntplib
import time
ntp_server_url = 'ntp5.aliyun.com'
def get_ntp_time(ntp_server_url):
"""
通过ntp server获取网络时间
:param ntp_server_url: 传入的服务器的地址
:return: time.strftime()格式化后的时间和日期
"""
ntp_client = ntplib.NTPClient()
ntp_stats = ntp_client.request(ntp_server_url)
fmt_time = time.strftime('%X', time.localtime(ntp_stats.tx_time))
fmt_date = time.strftime('%Y-%m-%d', time.localtime(ntp_stats.tx_time))
return fmt_time, fmt_date
def sudoCMD(command,password):
str = os.system('echo %s | sudo -S %s' % (password,command))
print(str)
if __name__ == '__main__':
ntp_server_time, ntp_server_date = get_ntp_time(ntp_server_url)
_time = '"' + ntp_server_date +' ' + ntp_server_time + '"'
print(_time)
sudoCMD('sudo timedatectl set-ntp false','1234')
sudoCMD('sudo timedatectl set-time '+ _time,'1234')
sudoCMD('sudo timedatectl set-local-rtc 1','1234')
print('时间已经与{}同步'.format(ntp_server_url))
如果使用其他格式的命令,传入的时间格式也有所不同