python 设置ubuntu系统时间

使用的命令:

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))

如果使用其他格式的命令,传入的时间格式也有所不同

猜你喜欢

转载自blog.csdn.net/qq_21454973/article/details/124478072