Skip to content

Instantly share code, notes, and snippets.

@briandk
Last active August 29, 2015 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save briandk/9ab47806ff24decbe347 to your computer and use it in GitHub Desktop.
Save briandk/9ab47806ff24decbe347 to your computer and use it in GitHub Desktop.
A possible bug in how fantastical 2 handles Mountain Standard Time

The Problem

Entering an event and specifying "MST" (Mountain Standard Time) as the time zone results in the event being recorded with "MDT" (Mountain Daylight Time instead. This results in the actual time of the event being one hour earlier than the user specified/intended.

Expected Behavior

Specifying that an event start at, say, noon MST will result in an event that starts at 12pm PDT.

Actual Behavior

If a user enters an event as beginning at noon MST, it will be encoded by Fantastical 2 as an event that starts at 11am PDT, one hour earlier than what the user desired.

Steps to Reproduce

  1. Open Fantastical 2 via the menubar
  2. Create a new calendar event with the following text: Test meeting tomorrow at noon MST. (NOTE: Noon MST is noon PDT).
  3. Press return to create the event.
  4. Open Apple's calendar.app
  5. Find the test event and double-click it
  6. Verify that the actual time of the event shows it beginning at 12pm MDT, which is 11am PDT. (NOTE: 11am PDT is clearly not noon PDT).

Compare to behavior in Calendar.app

  1. Open Calendar.app
  2. Create a new calendar event using the "+" button and natural language input
  3. Call the event Test meeting tomorrow at noon MST and create it
  4. Verify that said event shows up as beginning at noon PDT (it does for me)

System Information

I'm running:

  • An early 2011 MacBook Pro 13-inch
  • OS X 10.10.3
  • Fantastical v. 2.0.2 (100)

Background

I live in Phoenix, AZ. When the nation changes over to Daylight Saving Time (DST), Phoenix (and Arizona) do not. One way to accommodate this problem is to recognize that for half the year, Arizona is on PDT time along with California, while for half the year it's on Mountain Standard Time. But, that requires remembering which part of the year you're in.

An unambiguous way to cope with the shifting time zones problem is to recognize, as the National Institute of Standards and Technology does, that Phoenix is on MST year-round. This solution is attractive because it means one can always specify that an event is taking place in MST, or relative to it, and know that it's correct regardless of the time of year.

I've gotten into the habit of specifying local Phoenix time as always being in terms of MST, but if this doesn't work in fantastical (or I don't catch the error), I miss meetings.

@ksuther
Copy link

ksuther commented Apr 21, 2015

Thanks for the info! I'm having trouble getting Calendar to behave the way that you're saying, it always ends up in MDT. Is your computer set to Phoenix when you use Calendar? It could be that Calendar only interprets MST as such when you're in Phoenix. If so, that doesn't really solve the problem if you're traveling.

I'll have to give this some more thought, but right now the only options I'm seeing are to have a custom time zone abbreviation just for Phoenix (which is totally nonstandard), or to have a setting that always points MST to Phoenix rather than the general MST time zone.

@briandk
Copy link
Author

briandk commented Apr 21, 2015

@ksuther - Here's something you can try:

  1. Open Calendar.app
  2. Make sure Time Zone Support is turned on under Settings-> Advanced
  3. Set your time zone to Pacific
  4. Click the "+" to create a new event using natural language input
  5. Type test meeting tomorrow at noon MST, then verify that the suggestion that pops up is tomorrow starting at 12pm.
  6. Change the input text for the event to test meeting tomorrow at 12pm MST, then verify that the suggestion that pops up is tomorrow, starting at 12pm MDT

I'm honestly not sure what this means, assuming you're able to reproduce it.

Close up of typing test meeting tomorrow at 12pm MST in Calendar.app

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment