Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: ejonesSo, where you are seeing differences, I am seeing consistency. (granted, it is not easy to see this consistency) The solution is for you to change your windows client session to be in the same timezone as your LAE server. This won't change anything but will make things look consistent. Here is why:
You said that the LAE server is 30 minutes ahead of your local time on your client machine.
First Example:
1. A Static Data node runs on the LAE server converting a string value to a datetime on the LAE server.
2. A filter node extracts the date and time parts.
- Note that the datetime value includes the timezone information but the date and time values do not.
3. You display the output of the filter node which has the date and time fields plus the original datetime value. This runs on the LAE server in its timezone.
- Note that the date and time values show exactly the contents of the static data node so this is why I say it worked. Since these date and time values do not carry any timezone information the BRD viewer displays them as you expect. So they show the same numbers in whatever timezone you are in even though those numbers would be a different time in other timezones.
- AND note that the display in the BRD viewer of the datetime value is shown as 30 minutes earlier because the datetime value includes timezone information. The timezone on your client machine is 30 minutes before the LAE server's time.
- It is consistent for the first record because at 9:30 on your client machine it will be 10:00 on the server. Since the datetime value contains the timezone it contains enough information so that it can represent the same instant of time in all timezones.
Last Example with 'emit *, datetime.str() as "datetimestring"':
1. The data from same static data node gets converted on the LAE server to the datetime.
2. Inside the emit the data in the datetime value gets converted back to a string and written as datetimestring in the LAE server's timezone.
3. You display this result on your client BRE session.
- The datetimestring represents the same value that is in the original static data node.
- The datetime value displays a time 30 minutes before the time in the static data node. Note that this is the time in your local timezone that represents the time in the static data node where when you look at a clock in the LAE server's timezone it will match. At 9:30 on your client it will be 10:00 on the server.
So:
To see what you expect to see you need to change the timezone used by the BRD viewer to display datetime values. The way to do this is to change the whole machine to be in the same timezone as the LAE server. This is what I have been doing. Since the LAE server is 1 hour ahead and also in the timezone of the home office for the company I work for, a lot of things work out nice doing this when I coordinate with other people at work. But it is difficult and confusing to make plans with my wife who is in my local timezone while the time on my laptop is 1 hour ahead. And as soon as my wife finds out about this she notes it as evidence I'm putting my work ahead of her, yikes!!