Setting the system date in Python (on Windows)

2020-07-17 05:02发布

There appears to be many packages for getting/formatting the current date, or finding out the date n time intervals from now. But I must be overlooking the existence of a simple method to set the date (like Windows' date.exe) in Python.

Surely such a function exists? I've been unable to find anything on Google, the python docs (datetime, time, os, etc) or stack overflow. TIA.

edit: To summarize,this page tells you how to get them.

And you can set them using either

win32api.SetSystemTime(year,month,dayOfWeek,day,hour,minute,second,millseconds)

or

os.system("date " + mm/dd/yy)

date.exe also appears to accept mm-dd-yy, 4-digit years, and probably other alternatives.

I prefer the latter for simplicity.

2条回答
【Aperson】
2楼-- · 2020-07-17 05:59

Can you not use os.system("shell_cmd_in_here") to call the linux cmd:

date -s "2 OCT 2010 18:00:00"

This would set the system date to: 2 Oct 2010 18:00:00 for example.

So altogether it is:

os.system('date -s "2 OCT 2010 18:00:00"')

A sudo might be needed here though.

查看更多
孤傲高冷的网名
3楼-- · 2020-07-17 06:02

You should be able to use win32api.SetSystemTime. This is part of pywin32.

查看更多
登录 后发表回答