Question

daylight savings from calander

Asked by: Netlink2

Hi experty experts,

I'm using GMT time to store calendar events in a database. Here's my question, if someone puts in a date and time, how do I tell if it's in daylight savings or not?

At the moment I'm using an array with all the different time zones in it (+ or - the hours). But I'm guessing there's a better way.

Thanks in advance.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-31 at 04:24:30ID24860547
Topics

.NET

,

Programming for ASP.NET

,

.NET Framework 3.x versions

Participating Experts
2
Points
500
Comments
13

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Daylight Savings Time enabled timezone clock
    I need a clock where every TimeZone will have different cities/locations that either adopt or do not adopt DST. The clock should have two listboxes, one for current time and one for destination time zone. Here is some pertinent information regarding cities to be used and w...
  2. URGENT. Redesigning Notes calander - to be fixed to GM…
    We are redesigning a standard Lotus NOtes Calander for a global support group/scheduling tool. We need to calander to be opened as GMT only. Ie it currently opens the calander according to local settings. Also, when creating an event it creates the time in the Local timezone....
  3. problems with xp/outlook 2003 from daylight savings ti…
    I'm having a problem with my outlook calander since the daylight savings change has occured. I have windows xp sp2 and outlook 2003. all with all updates and the specific 2007 xp daylight savings time update installed. I am in louisiana which is in the central time zone....

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: sybePosted on 2009-10-31 at 07:18:49ID: 25709898

> if someone puts in a date and time, how do I tell if it's in daylight savings or not?

How could you know without asking?

 

by: Netlink2Posted on 2009-10-31 at 07:20:00ID: 25709904

I don't know, maybe there's a way .net knows these things?

 

by: dericstonePosted on 2009-10-31 at 08:12:27ID: 25710040

If someone enters the value on a local PC, you could get DateTime.Now and check the value of IsDaylightSavingsTime. If they are entering values on the Web from possibly different time zones, you won't know unless you ask (or have some background check).

The better way to track time like this would be to store the UTC time which is the basis for the DateTime class. The you can convert it to local time (including DST), perform operations, etc.

It's not clear what you are doing with the array of time zones. Please explain if I haven't answered your question already.

 

by: Netlink2Posted on 2009-10-31 at 08:53:30ID: 25710213

<<It's not clear what you are doing with the array of time zones.>>
I'm adding or subracting based on PST, EST and 50 other time codes.
Let's say for example it's daylight savings tomorrow in the time zone and a person says "send me an alert at 10:00am tomorrow", I add the time difference based on the current time difference, but tomorrow the time difference is different.

How can I tell the daylight savings time of the time the person want's the alert.

Like if they want monthly alerts or weekly alerts, the time in the database has to be changed when the time changes.

Is there a way to make that more effecient, and how do I tell when daylight savings time changes for every time zone?

 

by: dericstonePosted on 2009-11-01 at 01:31:09ID: 25713108

This depends on how the alert is activated. I would guess there is a background thread running for each client that compares the desired date/time of the alert to the current local time.

You might find this article interesting:
http://msdn.microsoft.com/en-us/library/bb397781.aspx

Using the TimeZoneInfo objects plus the classes DateTime and TimeZone, you should be able to get where you want to go, but again I question how this is implemented.

 

by: Netlink2Posted on 2009-11-01 at 02:49:45ID: 25713255

Thanks Deric, that will give me the time zone at that time, but what if the time changes?

What I'm doing is using a global timer, because users most likely won't be logged in to the web site when the timer is due to be activated.

I'm just calling all times greater than the current time from the database.

If the timer is periodical, then it resets the time for that client.

 

by: dericstonePosted on 2009-11-01 at 08:39:23ID: 25714270

So how does the server know what time it is for a client? Is this based on reading the time on the client's machine when he logs in, or is this based on some stored value for time zone for each client, or something else?

 

by: Netlink2Posted on 2009-11-01 at 08:40:34ID: 25714275

It's based on a timezone stored in the database for his login and then a calendar entry.

 

by: dericstonePosted on 2009-11-01 at 09:13:26ID: 25714397

OK, got it. So I imagine your app should do something like this:

for every "tick" of the clock
  for each alarm in queued alarms
    convert current UTC time to the time zone for this alarm
    if current time in new time zone is past alarm time
      send alert

The third line is probably the question. Take a look here
http://msdn.microsoft.com/en-us/library/bb397769.aspx

Note this only works with .NET Framework 3.5 or later.

 

by: Netlink2Posted on 2009-11-01 at 21:00:17ID: 25717140

Yes, I'm using .net framework 3.5
The catch is, that I don't want to chew up processing time by iterating through each alarm record.

I just want to able to have the right times stored in the database and say is alarmtime >= currenttime.

Is there a way to do that?

 

by: dericstonePosted on 2009-11-01 at 23:33:27ID: 25717557

I guess if you really wanted to implement that way, you could use TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo) each time an alarm record is created to convert the alarm time in a particular time zone to UTC. Then keep those times in a (preferably sorted) list. Then mark the records that correspond to each time in the list. Then every so often check if the local time, converted to UTC, is past any time in the list.

 

by: Netlink2Posted on 2009-11-01 at 23:34:57ID: 25717566

I guess I could make that work

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...