|
The guy who knows even
Rules for the FOSW ![ ^]
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}
|
|
|
|
|
HobbyProggy wrote: That was "unbelievable tortoise crash" right?
When the tortoise[^] crashes, the world comes to an end.
Marc
|
|
|
|
|
Link fail.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Just forget about Earth time and use galactic time.
if (Object.DividedByZero == true) { Universe.Implode(); }
Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016
|
|
|
|
|
Foothill wrote: Just forget about Earth time and use galactic time.
That is awesome. I may actually let the user select that as an optional display format!
Marc
|
|
|
|
|
Marc Clifton wrote: Have you had to deal with this issue? Yes, and it drove me to distraction since no one seemed to understand the problem. Rather than storing the time as local we were saving it as UTC but with an added field that was the offset to local. It never worked satisfactorily, and the project got canned.
|
|
|
|
|
Richard MacCutchan wrote: It never worked satisfactorily, and the project got canned.
Seems like a problem looking for a solution. Hmmmm...
Marc
|
|
|
|
|
My last 'new' project was/is a cloud based timeclock. I'm probably doing it all wrong, but found it easier to store converted local times and straight utc times for everything. Of course, it all depends on the type of application and whether or not you have users in multiple time zones.
"Go forth into the source" - Neal Morse
|
|
|
|
|
kmoorevs wrote: but found it easier to store converted local times and straight utc times for everything.
Agreed, that should be the baseline (or is that "basetime"?)
kmoorevs wrote: Of course, it all depends on the type of application and whether or not you have users in multiple time zones.
Web app, possibly desktop app, but I'm poking at what hopefully can be a general solution "library" / best practices.
Marc
|
|
|
|
|
I think dealing with time in code is one of the hardest things I've worked on, and I still don't know what the best solution is. I've done it a lot over the years.
To avoid daylight saving issues, I tend to store everything in UTC (or GMT to give it its correct title!), then do local conversion. If everything feeds in UTC then at least the same DateTime refers to the same moment wherever you are. But if you have any scheduled tasks, these will need to be rescheduled twice a year as you enter and exit daylight saving.
The main problem is that other people don't (use UTC), DateTime.Now is too easy, and this humble type's 'kind' only tells you whether it is UTC/local etc, but not where local is. By the time its gone in and out of SQL server it might have been the time on the moon for all its worth.
Then there's UTC to local time and back conversion which is not that easy.
Hmmmmm, I don't know where I'm going with this - not a clue. Horrible. But good luck..!
Regards,
Rob Philpott.
|
|
|
|
|
Rob Philpott wrote: But good luck..!
Thanks!
But if you have any scheduled tasks, these will need to be rescheduled twice a year as you enter and exit daylight saving.
Ugh. Another interesting wrinkle in the fabric of time.
Hah! Just came up with the name for a potential article: "A Wrinkle in Time"
Marc
|
|
|
|
|
That's also the name of a children's book[^].
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
I was nearly 25 when I read it but still enjoyed it!
Cheers,
विक्रम
"We have already been through this, I am not going to repeat myself." - fat_boy, in a global warming thread
|
|
|
|
|
Finishing my contract with Clarity Medical Systems and had an interview for 4:00 PM. The person I was interviewing with was in MST while I am in PST. Well the person scheduling the Interview converted for me, but unfortunately the that was giving the interview converted again, and so did not get a call until 5:00 PM. In China they only have one time zone. Somebody has recommended going to two in the US. Think this is a good idea. The Eastern Time Zone has been pushed so far West that it is practically to the Mississippi. Why not just take it all the way to the Mississippi, and maybe a little further. The Central Time Zone is huge despite encroachment by the Eastern Time zone, and the Pacific Time Zone covers all of Nevada to the border of Alaska. Two time zones sounds better than the 4 we have.
|
|
|
|
|
Clifford Nelson wrote: Two time zones sounds better than the 4 we have.
And the weird holes, particularly states and very local regions that ignore DST.
Marc
|
|
|
|
|
Think the only state that ignores DST, which I think should be eliminated is Arizona. Have lived there. Sort preferred being on Pacific time rather than Mountain time. Then there are all those strange incursions, like Idaho into Oregon and Washington into Idaho.
|
|
|
|
|
In my experience when you call up to say the ATM didn't dispense cash, they'll ask you which ATM. So just use the local time of the ATM.
|
|
|
|
|
WiganLatics wrote: they'll ask you which ATM.
Quite true. But that's assuming the user wasn't drunk, is still by the ATM, and remembers which one they visited.
Marc
|
|
|
|
|
Marc Clifton wrote: Am I missing something obvious? Have you had to deal with this issue?
Yes. You store the time in UTC and then apply any local adjustments at display time. Anything else leads quickly to insanity. Usually, you also give the viewer the choice on whether to see the timestamps in their local time, or in UTC, because people who deal with a lot of timestamps generated in different parts of the globe, rapidly become pretty accustomed to reading them in UTC.
The ONLY time it makes sense to use local time, is when the timestamps will only ever be generated, and viewed, in only one time zone, and both are done in the same time zone. The moment you make those timestamps accessible on a network in some way, that assumption breaks, so the smart move is to save the data in UTC, even if you think you'll only ever display it in the timezone it was created in. If the data is in UTC, then you can always upgrade the viewer later.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
I agree with this. If you make the time as a UTC then the support person would just need to ask what time zone or state they are in and select that to do the math for them to begin the search in the local time. There are built in .net stuff to check if it is in Day light saving time or not.
|
|
|
|
|
For that reason I never use local time and always store time values as UTC. Always. Then translating it becomes much much easier, regardless if I want to show my time (server time) for a blog post or the users time (client time) for it. Just calculate the difference in offset before displaying the time. UTC is your friend.
Jeremy Falcon
|
|
|
|
|
Take a look at FIFA[^]'S site. At the top of the list of games there is a link that says "change to local time" or "change to your time".
You can see scheduled games in your local time (good for watching on TV), and in the local time of wherever the game will take place (good if you're planning to go there and see the game).
I saw it for the first time during the 2010 World Cup, and I like it.
In general, sport events that are broadcasted to the entire world (the Olympic games start in a few days) pose the same challenge to whoever designs their sites, which are also designed for a wide audience, so this is one place where you can look for inspiration.
JM2B,
Pablo.
|
|
|
|
|
In all the scenarios, I'd store the UTC time. And in all cases, I'm assuming you're working in a language that has a decent date/time library available. Ideally it will use something like these time zone ids that are hopefully granular enough to help sort out DST oddities like Indiana (and lots of others).
Scenario 1
In the blog's admin section, have a local time zone setting. If there's an admin user logged in, display the blog entry time in the blog's local time zone. So if you travel from NY to CA, if you go to you blog on your laptop and your admin cookie hasn't expired, you'll see the entries in your home time zone.
Scanario 2
For non-admin users, show the time in their local time zone. This shouldn't be too hard server-side if you can deduce location from their IP. If you can't, and you're lazy, and you absolutely don't ever want to show post times in the blog's 'home' time zone to users in other time zones, add <div class='post-date' data-utcmillis='12345'></div> to every entry, where data-utcmiliis is set to the number of milliseconds since Jan 1, 1970 UTC. On page load, use JavaScript to populate the date fields. The JS Date object has a Date(millis) constructor, so you can instantiate one with the UTC milliseconds value and use that to generate a local date string. So the user will either see the post date in their computer's time zone, or if they have JS disabled they'll see no date at all.
Scenario 3
Since the ATMs and branches have specific geographic locations, it's easy to localize transactions. In the case of the no receipt, no cash transaction, I think it makes sense for the customer service rep to ask the customer where it occurred, when it occurred, and the amount of cash the machine should have dispensed. Customer service needs at least some information to determine place and/or time of the transaction. Even an answer like "Last night, in New York, for $50 or $100" or "$250, some time in the past couple of days" would be enough to get started. Start the search based on the customer's card number and pull up the last 25 or 50 transactions. The where/when/amount questions will help the rep quickly scan the list for any transactions matching the customer's description. If the customer can't provide any of these details then they likely need more help than an ATM company's customer service rep can provide.
It probably makes sense to display the transaction's local time and location, so the customer service rep can say "I see a withdrawal for $50 last night at 9:24PM from an ATM at 123 XYZ St. in lower Manhattan" without needing to do any mental time zone conversions.
|
|
|
|
|
Can't we all agree to just universally use eastern time?
|
|
|
|
|
Nish Nishant wrote: Can't we all agree to just universally use eastern time?
I agree. That is the most sane thing to do. Unfortunately, the Brits will first be on board with the idea, then after a few years, they'll decide they want to be show their independence and pass a Brex-tix-et referendum.
Marc
|
|
|
|