16

I want to get the time in Python. With time.ctime(), there are lots of functions:

I tried:

def write_time():  
  NUMBER_OF_MIN=40 #my offset
  obj=time.gmtime()
  print  " D", obj.tm_mday, " M",obj.tm_mon,  "Y",obj.tm_year, 
  " time", obj.tm_hour+TIME_OFFSET,":",   obj.tm_min-NUMBER_OF_MIN, ":",obj.tm_sec

I want to subtract 40 minutes from the time.

Eric Leschinski
  • 146,994
  • 96
  • 417
  • 335
Tebe
  • 3,176
  • 8
  • 40
  • 60
  • possible dublicate of http://stackoverflow.com/questions/100210/python-easy-way-to-add-n-seconds-to-a-datetime-time – j-i-l Dec 15 '12 at 23:59

1 Answers1

36

Check out the datetime library, which provides much more flexibility for math using dates.

For example:

import datetime
print datetime.datetime.now()
print datetime.datetime.now() - datetime.timedelta(minutes=2)
print datetime.datetime.now() - datetime.timedelta(seconds=10)
print datetime.datetime.now() - datetime.timedelta(milliseconds=400)

Prints:

el@dev ~ $ python test.py
2014-11-26 06:47:07.179411
2014-11-26 06:45:07.179538
2014-11-26 06:46:57.179581
2014-11-26 06:47:06.779614
Eric Leschinski
  • 146,994
  • 96
  • 417
  • 335
acjay
  • 34,571
  • 6
  • 57
  • 100
  • Just in case it's not obvious, you can combine: `print datetime.datetime.now()-datetime.timedelta(hours=24*3+16,minutes=23)` – Philip Kearns May 02 '17 at 09:03