Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python - datetime.now() returns incorrect time

I want to store in my data base the time stamp of an operation. The problem is that the time that I get from datetime.datetime.now()is incorrect (I guess it's due to time zone). I tried getting the value in the terminal using python and got the correct result.

import datetime 
datetime.datetime.now()//correct time

However if I print the result during problem execution the output is incorrect, the result is two hours earlier.

Why is it like that, that the terminal gives me the correct time but the program instance isn't, how can I get the correct time in my program?

Edit: The date time from the terminal:

2018-08-30 17:41:04.413187

The date time from program instance:

2018-08-30 14:42:31.761310

Edit:

I noticed that I have this warning when I run the program.

RuntimeWarning: DateTimeField Policy.last_update received a naive datetime (2018-08-30 15:16:23.689896) while time zone support is active.
  RuntimeWarning)
like image 939
Keselme Avatar asked Oct 19 '25 17:10

Keselme


1 Answers

Try this adjusting the number of hours depending on the timezone you are:

import datetime 

datetime.datetime.utcnow()+datetime.timedelta(hours=3)
like image 161
Ines Avatar answered Oct 22 '25 05:10

Ines



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!