- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Timestamp delta during conversion
I have a response from server which should look like below.
{ "startDate": 1695034800, "endDate": 1695036540 }
However, the response is print as below in the console.
{"startDate":1.6950348e+09,"endDate":1.69503654e+09}
I convert the printed startDate to a variable as below.
timestamp& = json.startDate
Here, I get incorrect value 1695034752, when it should have been 1695034800. How do I get the correct value?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Timestamp delta during conversion
I think you need to figure out why the server is returning a floating point number.
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Timestamp delta during conversion
Server is sending long int values as below. I see this in the postman.
{ "startDate": 1695034800, "endDate": 1695036540 }
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Timestamp delta during conversion
It works for me:
x="{ "+chr(34)+"startDate"+chr(34)+": 1695034800, "+chr(34)+"endDate"+chr(34)+": 1695036540 }"
?x
{ "startDate": 1695034800, "endDate": 1695036540 }
?parsejson(x)
<Component: roAssociativeArray> =
{
endDate: 1695036540
startDate: 1695034800
}
?parsejson(x).enddate
1695036540
?parsejson(x).startdate
1695034800
?parsejson(x).enddate - parsejson(x).startdate
1740
json=parsejson(x)
startdate&=json.startdate
enddate&=json.enddate
?startdate&
1695034800
?enddate&
1695036540
?enddate&-startdate&
1740
The numbers are just Integers, so no need really for the LongIntegers, but it doesn't affect anything.
I don't understand where the floating point numbers are entering the situation. Maybe post your code.
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Timestamp delta during conversion
Thank you for trying.
The floating point are entering from the roUrlTransfer. When I get the string from the msg object of the listening port, it is printed as floating point. Additionally when I just copy the floating point into epoch converter, I get the correct value. It's Roku which is not able to parse it.