小工具:同步系统时间

2019-11-22 14:36:00 浏览数 (1)

写了份代码,用来同步windows时间。

代码语言:javascript复制
package main

import (
    "fmt"
    "net/http"
    "os/exec"
    "strings"
    "time"
)

func main() {
    resp, err := http.Get("http://www.baidu.com")
    if err != nil {
        // handle error
    }
    defer resp.Body.Close()
    respDateStr := string(resp.Header["Date"][0])
    t, _ := time.Parse("Mon, 02 Jan 2006 15:04:05 MST", respDateStr)
    loc, _ := time.LoadLocation("Asia/Chongqing")

    timeStr := t.In(loc).String()
    dateStr := strings.Split(timeStr, " ")[0]
    hourStr := strings.Split(timeStr, " ")[1]
    fmt.Println("Net time is ", dateStr, hourStr)

    exec.Command("cmd", "/C", "date " dateStr).Output()
    exec.Command("cmd", "/C", "time " hourStr).Output()

    time.Sleep(time.Second * 2)
}

下载: synctime.zip

顺便做了个linux的python3版

代码语言:javascript复制
import datetime
import urllib.request
import subprocess

resp=urllib.request.urlopen('http://www.baidu.com', timeout=8)
date = resp.headers["Date"] # like :Sat, 31 Dec 2016 14:54:43 GMT

utc_datetime = datetime.datetime.strptime(date, "%a, %d %b %Y %H:%M:%S %Z")
beijing_time = utc_datetime   datetime.timedelta(hours=8)

subprocess.check_output("date -s "{}"".format(beijing_time), shell=True)

0 人点赞