• Golang修改操作系统时间


    Golang修改操作系统时间

    需求

    程序有时需要和服务器对时,发现延迟过高修改本地时间,这段代码网上抄的,实测可用,windows环境需要以管理员身份启动命令提示符调试

    实现Demo

    package main
    
    import (
    	"github.com/gogf/gf/os/glog"
    	"github.com/gogf/gf/os/gproc"
    	"github.com/gogf/gf/text/gstr"
    	"runtime"
    )
    
    func main() {
    	UpdateSystemDate("2020-03-20 15:02:41.372")
    }
    
    func UpdateSystemDate(dateTime string) bool {
    	system := runtime.GOOS
    	switch system {
    	case "windows":
    		{
    			_, err1 := gproc.ShellExec(`date  ` + gstr.Split(dateTime, " ")[0])
    			_, err2 := gproc.ShellExec(`time  ` + gstr.Split(dateTime, " ")[1])
    			if err1 != nil && err2 != nil {
    				glog.Info("更新系统时间错误:请用管理员身份启动程序!")
    				return false
    			}
    			return true
    		}
    	case "linux":
    		{
    			_, err1 := gproc.ShellExec(`date -s  "` + dateTime + `"`)
    			if err1 != nil {
    				glog.Info("更新系统时间错误:", err1.Error())
    				return false
    			}
    			return true
    		}
    	case "darwin":
    		{
    			_, err1 := gproc.ShellExec(`date -s  "` + dateTime + `"`)
    			if err1 != nil {
    				glog.Info("更新系统时间错误:", err1.Error())
    				return false
    			}
    			return true
    		}
    	}
    	return false
    }
    
  • 相关阅读:
    帮忙看看怎么优化这个最长的sql
    12种不宜使用的Javascript语法
    走格子
    乘法逆元
    完美字符串
    全排列问题
    A. Sorting Railway Cars
    Prim
    矩阵取数
    套题T8&T9
  • 原文地址:https://www.cnblogs.com/Kingram/p/12627709.html
Copyright © 2020-2023  润新知