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

PythonDjango

Python Problem Overview


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?

Python Solutions


Solution 1 - Python

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

Solution 2 - Python

check [django_timezones](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones "django timezone")! this may help others too it consists of all other timezones for references

Solution 3 - Python

TIME_ZONE =  'Asia/Kolkata'

USE_I18N = True

USE_L10N = True

USE_TZ = True

The above settings should work

Solution 4 - Python

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

USE_I18N = True

USE_L10N = True

USE_TZ = False

Solution 5 - Python

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

Solution 6 - Python

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.

Solution 7 - Python

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

Solution 8 - Python

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

Solution 9 - Python

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.

Solution 10 - Python

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

Solution 11 - Python

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.. :)

Solution 12 - Python

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Calcutta'

USE_I18N = True

USE_L10N = True

USE_TZ = True

This should work.

Solution 13 - Python

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

TIME_ZONE =  'Asia/Kolkata'

Solution 14 - Python

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlokView Question on Stackoverflow
Solution 1 - PythonJonView Answer on Stackoverflow
Solution 2 - PythonJitesh NairView Answer on Stackoverflow
Solution 3 - PythonNandhaView Answer on Stackoverflow
Solution 4 - PythonAshish GuptaView Answer on Stackoverflow
Solution 5 - Pythonmanoj paliView Answer on Stackoverflow
Solution 6 - PythonAkshay ChandranView Answer on Stackoverflow
Solution 7 - PythonSpoorthi M SView Answer on Stackoverflow
Solution 8 - PythonKishore BhosaleView Answer on Stackoverflow
Solution 9 - PythonNaveen Chand PandeyView Answer on Stackoverflow
Solution 10 - PythonpandeyroshanView Answer on Stackoverflow
Solution 11 - PythonThrilok Kumar PallakiView Answer on Stackoverflow
Solution 12 - PythonfirefistacezView Answer on Stackoverflow
Solution 13 - PythonPraneethView Answer on Stackoverflow
Solution 14 - Pythonzoro juroView Answer on Stackoverflow