Getting localtime with values_list in django





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I have set settings.TIME_ZONE = Europe/Paris.



In django I get dates like this:dates = (...).values_list('started_at', flat=True)



But the resulting dates are in UTC.



datetime.datetime(2018, 11, 28, 2, 23, 54, 361753, tzinfo=<UTC>)


How do I get the dates in my local time without converting all those dates like following?:



from django.utils.timezone import localtime
dates = [localtime(d) for d in dates]









share|improve this question























  • what's the value of settings.USE_TZ?

    – JPG
    Nov 29 '18 at 3:56











  • settings.USE_TZ = True

    – Ariunbayar
    Nov 29 '18 at 4:28


















0















I have set settings.TIME_ZONE = Europe/Paris.



In django I get dates like this:dates = (...).values_list('started_at', flat=True)



But the resulting dates are in UTC.



datetime.datetime(2018, 11, 28, 2, 23, 54, 361753, tzinfo=<UTC>)


How do I get the dates in my local time without converting all those dates like following?:



from django.utils.timezone import localtime
dates = [localtime(d) for d in dates]









share|improve this question























  • what's the value of settings.USE_TZ?

    – JPG
    Nov 29 '18 at 3:56











  • settings.USE_TZ = True

    – Ariunbayar
    Nov 29 '18 at 4:28














0












0








0








I have set settings.TIME_ZONE = Europe/Paris.



In django I get dates like this:dates = (...).values_list('started_at', flat=True)



But the resulting dates are in UTC.



datetime.datetime(2018, 11, 28, 2, 23, 54, 361753, tzinfo=<UTC>)


How do I get the dates in my local time without converting all those dates like following?:



from django.utils.timezone import localtime
dates = [localtime(d) for d in dates]









share|improve this question














I have set settings.TIME_ZONE = Europe/Paris.



In django I get dates like this:dates = (...).values_list('started_at', flat=True)



But the resulting dates are in UTC.



datetime.datetime(2018, 11, 28, 2, 23, 54, 361753, tzinfo=<UTC>)


How do I get the dates in my local time without converting all those dates like following?:



from django.utils.timezone import localtime
dates = [localtime(d) for d in dates]






django






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 29 '18 at 3:53









AriunbayarAriunbayar

465




465













  • what's the value of settings.USE_TZ?

    – JPG
    Nov 29 '18 at 3:56











  • settings.USE_TZ = True

    – Ariunbayar
    Nov 29 '18 at 4:28



















  • what's the value of settings.USE_TZ?

    – JPG
    Nov 29 '18 at 3:56











  • settings.USE_TZ = True

    – Ariunbayar
    Nov 29 '18 at 4:28

















what's the value of settings.USE_TZ?

– JPG
Nov 29 '18 at 3:56





what's the value of settings.USE_TZ?

– JPG
Nov 29 '18 at 3:56













settings.USE_TZ = True

– Ariunbayar
Nov 29 '18 at 4:28





settings.USE_TZ = True

– Ariunbayar
Nov 29 '18 at 4:28












1 Answer
1






active

oldest

votes


















0














The values from the database will always be in UTC. As described in the documentation:




When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user's time zone in templates and forms.




So if you want the local time in your Python code you indeed need to convert them yourself, just as you described.






share|improve this answer
























  • Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

    – JPG
    Nov 29 '18 at 4:17











  • I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

    – Ariunbayar
    Nov 29 '18 at 4:31











  • @Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

    – Kevin Christopher Henry
    Nov 29 '18 at 4:39












Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53531598%2fgetting-localtime-with-values-list-in-django%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














The values from the database will always be in UTC. As described in the documentation:




When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user's time zone in templates and forms.




So if you want the local time in your Python code you indeed need to convert them yourself, just as you described.






share|improve this answer
























  • Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

    – JPG
    Nov 29 '18 at 4:17











  • I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

    – Ariunbayar
    Nov 29 '18 at 4:31











  • @Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

    – Kevin Christopher Henry
    Nov 29 '18 at 4:39
















0














The values from the database will always be in UTC. As described in the documentation:




When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user's time zone in templates and forms.




So if you want the local time in your Python code you indeed need to convert them yourself, just as you described.






share|improve this answer
























  • Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

    – JPG
    Nov 29 '18 at 4:17











  • I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

    – Ariunbayar
    Nov 29 '18 at 4:31











  • @Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

    – Kevin Christopher Henry
    Nov 29 '18 at 4:39














0












0








0







The values from the database will always be in UTC. As described in the documentation:




When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user's time zone in templates and forms.




So if you want the local time in your Python code you indeed need to convert them yourself, just as you described.






share|improve this answer













The values from the database will always be in UTC. As described in the documentation:




When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user's time zone in templates and forms.




So if you want the local time in your Python code you indeed need to convert them yourself, just as you described.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 29 '18 at 4:12









Kevin Christopher HenryKevin Christopher Henry

24.5k56864




24.5k56864













  • Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

    – JPG
    Nov 29 '18 at 4:17











  • I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

    – Ariunbayar
    Nov 29 '18 at 4:31











  • @Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

    – Kevin Christopher Henry
    Nov 29 '18 at 4:39



















  • Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

    – JPG
    Nov 29 '18 at 4:17











  • I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

    – Ariunbayar
    Nov 29 '18 at 4:31











  • @Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

    – Kevin Christopher Henry
    Nov 29 '18 at 4:39

















Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

– JPG
Nov 29 '18 at 4:17





Is it? AFAIK, Django will store datatime in UTC if settings.USE_TZ is False

– JPG
Nov 29 '18 at 4:17













I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

– Ariunbayar
Nov 29 '18 at 4:31





I was very used to the obj.started_at being in my timezone (obj = MyModel.objects.get(...)). I guess .values_list(...) acts different.

– Ariunbayar
Nov 29 '18 at 4:31













@Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

– Kevin Christopher Henry
Nov 29 '18 at 4:39





@Ariunbayar: There's nothing special about values_list(). If USE_TZ is True and obj.started_at is in your local time, then there's something strange about your setup. Are you using the database TIME_ZONE setting? It's also possible for the database connection to do its own timezone conversions.

– Kevin Christopher Henry
Nov 29 '18 at 4:39




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53531598%2fgetting-localtime-with-values-list-in-django%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Lallio

Futebolista

Jornalista