Forum Discussion

ryan_b_123's avatar
ryan_b_123
Frequent Visitor
2 years ago

Getting current time in PST - Incorrect results

Hello, I am using below code to get the current time in PST (Los Angeles time):

 

DateTimeZone.SwitchZone(DateTimeZone.UtcNow(),-8)

 

When I publish and check online, I am sometimes getting an incorrect time.  Specifically it will say the current time is later than it really is (by a full day).  Is there something wrong with the code I've used or is it an issue with the gateway that is refreshing the report?  

5 Replies

    • ryan_b_123's avatar
      ryan_b_123
      Frequent Visitor

      parry2k - I mentioned that I specifically am not using "today()".  This is why it is confusing to me.  My code references UTC so I don't understand how the base time could affect my result.  

  • ryan_b_123 on the desktop, it uses the local timezone but once it is published, it is using GMT as the base time and that could be the reason you are getting a different time stamp.

  • ryan_b_123's avatar
    ryan_b_123
    Frequent Visitor

    parry2k - thanks for the reply.  I would say this makes sense if I am using something like "today()" but since my formula actually references UTC, I am still not understanding how this is happening (and how to fix this).  

  • ryan_b_123 I see, so I did exactly what you mentioned and I get the correct date/time on desktop and in the service.

     

    This is the PQ code:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlSKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Custom", each DateTimeZone.UtcNow()),
        #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each DateTimeZone.SwitchZone(DateTimeZone.UtcNow(),-8)),
        #"Changed Type" = Table.TransformColumnTypes(#"Added Custom1",{{"Column1", type text}, {"Custom.1", type datetimezone}, {"Custom", type datetimezone}}),
        #"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"Custom", "UTC"}, {"Custom.1", "PST"}})
    in
        #"Renamed Columns"

     

    This is how you see on desktop:

     

     

    This is how it shows on the Power BI service.

     

     

    Can you do this simple test at your end?