views:

40

answers:

2

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.

+1  A: 

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.

Martin
A sudo, on windows? Also, what guarantee do you have that 'date' even checks stdin?
Arafangion
Sorry thought you were on linux. You can do the same for Windows, see this link on how to set the date via command prompt http://ss64.com/nt/date.html. Just put the 'set date' cmd within your os.system() call.
Martin
+2  A: 

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

Matthew Flaschen
Strange that python doesn't have something like this by default.
Gary Oldfaber