Convert string with timezone to unix timestamp












0















I'm trying to convert a string with a specific timezone (not UTC) to an unix timestamp.



Conversion from strings in UTC works pretty well with unix_timestamp function:



hive> select unix_timestamp("2018-12-31 23:59:59 UTC", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
1546300799


However, when I simply change the timezone (to another valid TZ name) it doesn't work:



hive> select unix_timestamp("2018-12-31 23:59:59 America/Sao_Paulo", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
NULL


Any suggestions?










share|improve this question

























  • Possible duplicate of How to convert a Date String from UTC to Specific TimeZone in HIVE?

    – Tomka Koliada
    Jan 2 at 19:55











  • It possibly duplicates of stackoverflow.com/q/28508640/10455534 - check maybe you can find answers there

    – Tomka Koliada
    Jan 2 at 19:56











  • Yes, its similar, but not exactly the same thing. Function unix_timestamp is easy to use when we already have the string in UTC (as in the first example). So convert UTC string to other timezones is straightforward once we get unix timestamp. The function seems to not work in the opposite way, i.e. from a string in a given timezone to a unix timestamp.

    – Victor Mayrink
    Jan 2 at 20:19
















0















I'm trying to convert a string with a specific timezone (not UTC) to an unix timestamp.



Conversion from strings in UTC works pretty well with unix_timestamp function:



hive> select unix_timestamp("2018-12-31 23:59:59 UTC", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
1546300799


However, when I simply change the timezone (to another valid TZ name) it doesn't work:



hive> select unix_timestamp("2018-12-31 23:59:59 America/Sao_Paulo", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
NULL


Any suggestions?










share|improve this question

























  • Possible duplicate of How to convert a Date String from UTC to Specific TimeZone in HIVE?

    – Tomka Koliada
    Jan 2 at 19:55











  • It possibly duplicates of stackoverflow.com/q/28508640/10455534 - check maybe you can find answers there

    – Tomka Koliada
    Jan 2 at 19:56











  • Yes, its similar, but not exactly the same thing. Function unix_timestamp is easy to use when we already have the string in UTC (as in the first example). So convert UTC string to other timezones is straightforward once we get unix timestamp. The function seems to not work in the opposite way, i.e. from a string in a given timezone to a unix timestamp.

    – Victor Mayrink
    Jan 2 at 20:19














0












0








0








I'm trying to convert a string with a specific timezone (not UTC) to an unix timestamp.



Conversion from strings in UTC works pretty well with unix_timestamp function:



hive> select unix_timestamp("2018-12-31 23:59:59 UTC", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
1546300799


However, when I simply change the timezone (to another valid TZ name) it doesn't work:



hive> select unix_timestamp("2018-12-31 23:59:59 America/Sao_Paulo", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
NULL


Any suggestions?










share|improve this question
















I'm trying to convert a string with a specific timezone (not UTC) to an unix timestamp.



Conversion from strings in UTC works pretty well with unix_timestamp function:



hive> select unix_timestamp("2018-12-31 23:59:59 UTC", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
1546300799


However, when I simply change the timezone (to another valid TZ name) it doesn't work:



hive> select unix_timestamp("2018-12-31 23:59:59 America/Sao_Paulo", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
NULL


Any suggestions?







hive






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 2 at 20:29







Victor Mayrink

















asked Jan 2 at 19:47









Victor MayrinkVictor Mayrink

3681415




3681415













  • Possible duplicate of How to convert a Date String from UTC to Specific TimeZone in HIVE?

    – Tomka Koliada
    Jan 2 at 19:55











  • It possibly duplicates of stackoverflow.com/q/28508640/10455534 - check maybe you can find answers there

    – Tomka Koliada
    Jan 2 at 19:56











  • Yes, its similar, but not exactly the same thing. Function unix_timestamp is easy to use when we already have the string in UTC (as in the first example). So convert UTC string to other timezones is straightforward once we get unix timestamp. The function seems to not work in the opposite way, i.e. from a string in a given timezone to a unix timestamp.

    – Victor Mayrink
    Jan 2 at 20:19



















  • Possible duplicate of How to convert a Date String from UTC to Specific TimeZone in HIVE?

    – Tomka Koliada
    Jan 2 at 19:55











  • It possibly duplicates of stackoverflow.com/q/28508640/10455534 - check maybe you can find answers there

    – Tomka Koliada
    Jan 2 at 19:56











  • Yes, its similar, but not exactly the same thing. Function unix_timestamp is easy to use when we already have the string in UTC (as in the first example). So convert UTC string to other timezones is straightforward once we get unix timestamp. The function seems to not work in the opposite way, i.e. from a string in a given timezone to a unix timestamp.

    – Victor Mayrink
    Jan 2 at 20:19

















Possible duplicate of How to convert a Date String from UTC to Specific TimeZone in HIVE?

– Tomka Koliada
Jan 2 at 19:55





Possible duplicate of How to convert a Date String from UTC to Specific TimeZone in HIVE?

– Tomka Koliada
Jan 2 at 19:55













It possibly duplicates of stackoverflow.com/q/28508640/10455534 - check maybe you can find answers there

– Tomka Koliada
Jan 2 at 19:56





It possibly duplicates of stackoverflow.com/q/28508640/10455534 - check maybe you can find answers there

– Tomka Koliada
Jan 2 at 19:56













Yes, its similar, but not exactly the same thing. Function unix_timestamp is easy to use when we already have the string in UTC (as in the first example). So convert UTC string to other timezones is straightforward once we get unix timestamp. The function seems to not work in the opposite way, i.e. from a string in a given timezone to a unix timestamp.

– Victor Mayrink
Jan 2 at 20:19





Yes, its similar, but not exactly the same thing. Function unix_timestamp is easy to use when we already have the string in UTC (as in the first example). So convert UTC string to other timezones is straightforward once we get unix timestamp. The function seems to not work in the opposite way, i.e. from a string in a given timezone to a unix timestamp.

– Victor Mayrink
Jan 2 at 20:19












1 Answer
1






active

oldest

votes


















0














Your problem is the timezone itself, my understanding is that there is no direct way to do this using java cannonical id ("America/Sao_Paulo"). The correct format for the date that you are looking for (in full) should be



select unix_timestamp("2018-12-31 23:59:59 Brasilia Summer Time", "yyyy-MM-dd HH:mm:ss zzzz") as unixtime;





share|improve this answer
























    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%2f54012283%2fconvert-string-with-timezone-to-unix-timestamp%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














    Your problem is the timezone itself, my understanding is that there is no direct way to do this using java cannonical id ("America/Sao_Paulo"). The correct format for the date that you are looking for (in full) should be



    select unix_timestamp("2018-12-31 23:59:59 Brasilia Summer Time", "yyyy-MM-dd HH:mm:ss zzzz") as unixtime;





    share|improve this answer




























      0














      Your problem is the timezone itself, my understanding is that there is no direct way to do this using java cannonical id ("America/Sao_Paulo"). The correct format for the date that you are looking for (in full) should be



      select unix_timestamp("2018-12-31 23:59:59 Brasilia Summer Time", "yyyy-MM-dd HH:mm:ss zzzz") as unixtime;





      share|improve this answer


























        0












        0








        0







        Your problem is the timezone itself, my understanding is that there is no direct way to do this using java cannonical id ("America/Sao_Paulo"). The correct format for the date that you are looking for (in full) should be



        select unix_timestamp("2018-12-31 23:59:59 Brasilia Summer Time", "yyyy-MM-dd HH:mm:ss zzzz") as unixtime;





        share|improve this answer













        Your problem is the timezone itself, my understanding is that there is no direct way to do this using java cannonical id ("America/Sao_Paulo"). The correct format for the date that you are looking for (in full) should be



        select unix_timestamp("2018-12-31 23:59:59 Brasilia Summer Time", "yyyy-MM-dd HH:mm:ss zzzz") as unixtime;






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 2 at 23:19









        hlagoshlagos

        4,5731818




        4,5731818
































            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%2f54012283%2fconvert-string-with-timezone-to-unix-timestamp%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

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith