How to add Indian Standard Time (IST) in Django?

Question:

We want to get the current time in India in our Django project. In settings.py, UTC is there by default. How do we change it to IST?

Asked By: Alok

||

Answers:

Change the field TIME_ZONE in the settings.py.
For the Indian standard time you will need:

TIME_ZONE =  'Asia/Kolkata'

For more information about the TIME_ZONE in Django you can see: https://docs.djangoproject.com/en/dev/ref/settings/#time-zone

Answered By: Jon

check django_timezones! this may help others too
it consists of all other timezones for references

Answered By: Jitesh Nair
TIME_ZONE =  'Asia/Kolkata'

USE_I18N = True

USE_L10N = True

USE_TZ = True

The above settings should work

Answered By: Nandha

Modify setting.py and change the time zone to TIME_ZONE = ‘Asia/Kolkata’

Answered By: Kishore Bhosale

Use Below settings its worked for me.
TIME_ZONE = ‘Asia/Kolkata’

USE_I18N = True

USE_L10N = True

USE_TZ = False

Answered By: Ashish Gupta

Keep TIME_ZONE = ‘Asia/Kolkata’ in settings.py file and restart the service from where you are accessing the timezone (server or shell).
In my case, I restarted the python shell in which I was working and it worked fine for me.

Answered By: Naveen Chand Pandey

Simple Change TIME ZONE from ‘UTC’ to ‘Asia/Kolkata’ remember K and A is Capital here.

Answered By: pandeyroshan

Adding to Jon Answer, If timezone.now() still not working after changing the TIME_ZONE='Asia/Kolkata'.

Instead of timezone.now() you can use timezone.localtime().

Hope it solves.. 🙂

All the solutions given above are working.

see the code i have used to get my timezone. my timezone is Indian standard time zone.

https://docs.djangoproject.com/en/3.0/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE =  'Asia/Kolkata'

USE_I18N = True

USE_L10N = True

USE_TZ = True
Answered By: manoj pali

LANGUAGE_CODE = ‘en-us’

TIME_ZONE = ‘Asia/Calcutta’

USE_I18N = True

USE_L10N = True

USE_TZ = True

This should work.

Answered By: firefistacez

Change your settings.py to:

TIME_ZONE =  'Asia/Calcutta'

USE_I18N = True

USE_L10N = True

USE_TZ = False

This should work.

For more information about the TIME_ZONE in Django you can see: https://docs.djangoproject.com/en/dev/ref/settings/#time-zone

Answered By: Spoorthi M S

In general, Universal Time(UTC) based on the mean sidereal time as measured in Greenwich, England. It’s also approximately equal to mean solar time from Greenwich. If Daylight Saving Time is in effect in the time zone, one must add 1 hour to the above standard times.

Django got all these timezone support, The django.utils timezone module, just returns datetime based on the USE TZ setting, they are simply datetime objects with timezone ‘awareness’.

For IST(India Standard Time), which is UTC + 5:30, set TIME_ZONE = 'Asia/Kolkata' and USE_TZ = True, also USE_I18N = True, USE_L10N = True, which are Internationalization and localization settings.

For a reference,

from django.utils import timezone
import datetime

print(timezone.now())  # The UTC time
print(timezone.localtime())  # timezone specified time,if timezone is UTC, it is same as above 
print(datetime.datetime.now())  # default localmachine time

# output
2020-12-11 09:13:32.430605+00:00
2020-12-11 14:43:32.430605+05:30  # IST is UTC+5:30
2020-12-11 14:43:32.510659

refer timezone settings in django docs for more details.

Answered By: Akshay Chandran

Django stores timestamp so if we just change the TIME_ZONE variable Django will handle rest.

TIME_ZONE =  'Asia/Kolkata'
Answered By: Praneeth

change TIME_ZONE in settings.py.

TIME_ZONE = 'Asia/Colombo'  # 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

to check it is working properly.

python manage.py shell

from django.utils import timezone
timezone.localtime(timezone.now())

then just check your time 🙂

here is List of tz database time zones as per wiki.

Answered By: zoro juro

for India user time below few lines of code in settings.py file

settings.py

LANGUAGE_CODE = 'en-us'
TIME_ZONE =  'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = False

Don’t forget False in USE_TZ

Answered By: Hemant Yadav
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.