我尝试使用 go 系统调用设置 Linux 系统时间和日期,但总是收到无效日期错误。当我在终端上执行调用时,日期可能是错误的,它总是成功结束。
\n这是我的测试代码:
\npackage main\n\nimport (\n "os/exec"\n "time"\n "os"\n "syscall"\n "fmt"\n)\n\nfunc main() {\n fiveDaysFromNow := time.Now().Add(time.Hour * 24 * 5)\n err := SetSystemDate(fiveDaysFromNow)\n if err != nil {\n fmt.Printf("Error: %s", err.Error())\n }\n}\n\nfunc SetSystemDate(newTime time.Time) error {\n binary, lookErr := exec.LookPath("date")\n if lookErr != nil {\n fmt.Printf("Date binary not found, cannot set system date: %s\\n", lookErr.Error())\n return lookErr\n } else {\n //dateString := newTime.Format("2006-01-2 15:4:5")\n dateString := newTime.Format("2 Jan 2006 15:04:05")\n fmt.Printf("Setting system date …Run Code Online (Sandbox Code Playgroud) go ×1