What I’m getting at is how relevant is it to your app that you know if and 
where the time-of-day indicators exist in addition to the 24-hour setting.  
Answering those questions should be what determines your next steps.  As 
mentioned, the alarm clock has a long history on the Mac whereas the Unicode 
underpinnings for these locale settings are "relatively recent.”  If all you 
care about is putting out a time, try using localizedStringFromDate:…. If you 
absolutely have to have full control over the format string, unless the user 
wants a change, always use the system settings, and model your override UI 
after that provided in the system preferences.  If you’re wanting even greater 
details, try looking for IBM’s ICU test pages; I’m sure they’re still around 
somewhere, and they allow you to run through all locales in existence, even 
some that Apple may not currently support.
--
Gary L. Wade
http://www.garywade.com/ <http://www.garywade.com/>
> On Jan 3, 2017, at 1:02 PM, Sandor Szatmari <admin.szatmari....@gmail.com> 
> wrote:
> 
> Gary,
> 
> On Jan 3, 2017, at 14:52, Gary L. Wade <garyw...@desisoftsystems.com 
> <mailto:garyw...@desisoftsystems.com>> wrote:
> 
>> Is there a problem with using +[NSDateFormatter 
>> localizedStringFromDate:dateStyle:timeStyle:]?  Depending on your needs, you 
>> might also consider +[NSCalendar autoupdatingCurrentCalendar].
> 
> I am looking for detecting whether or not the system defaults to 12 or 24 hr 
> time.  The obj-c method I'm already 'parsing', -dateFormatFromTemplate:::, 
> returns a template string with well defined formatting tokens that are easy 
> to detect.  Plus they directly reflect the user's Locale & Region settings.
>> 
>> 
>> A user typically “sets” their region settings when they set up their Mac, 
>> and the choice of 12/24 hour display defaults to what the selected region 
>> uses.  Few people change things after that, although I am, preferring a 
>> four-digit year vs two-digit for the short date format.
> 
> Great point!  This is exactly why I wanted to follow a user's Locale & Date 
> preference.  The only issue I had was that the preference's place of 
> definition appeared vague to me.  It is tenuously tied to the Date & Time 
> preference for the menu bar clock.  Your point is good because user's decide 
> this once, early on.  Why should they have to specify it for every 
> application.  Maybe providing an option to override the default behavior is 
> the way to go.  Maybe a three state toggle or matrix.  
> 
> A. Follow Locale & Region
> B. Override with 12 hr
> C. Override with 24 hr
> 
> There is some redundancy in there depending on the Locale & Region setting 
> but, at least to me it's self explanatory.  Is that too confusing?
> 
> Thanks,
> Sandor
> 
>> --
>> Gary L. Wade
>> http://www.garywade.com/ <http://www.garywade.com/>
>>> On Jan 3, 2017, at 8:34 AM, Sandor Szatmari <admin.szatmari....@gmail.com 
>>> <mailto:admin.szatmari....@gmail.com>> wrote:
>>> 
>>> Jeremy,
>>> 
>>>> On Jan 3, 2017, at 10:30, Jeremy Pereira 
>>>> <jeremy.pere...@aptosolutions.co.uk 
>>>> <mailto:jeremy.pere...@aptosolutions.co.uk>> wrote:
>>>> 
>>>> 
>>>>> On 3 Jan 2017, at 06:16, Sandor Szatmari <admin.szatmari....@gmail.com 
>>>>> <mailto:admin.szatmari....@gmail.com>> wrote:
>>>>> 
>>>>> I am working on a small application where the primary function is to 
>>>>> display the time to the user.  My hope was to honor the user's preference 
>>>>> setting.  I am either missing something or honoring the user's preference 
>>>>> is harder than expected.
>>>>> 
>>>>> So, there are two places to set 24 hr time display.
>>>>> 
>>>>> 1. Date & Time preference panel
>>>>> 2. Language & Region preference panel 
>>>>> 
>>>>> The cocoa frameworks react differently depending on where you set this.
>>>>> 
>>>>> If set by method 1, cocoa frameworks seem unaware of this setting and it 
>>>>> appears this is cosmetic in that it only affects the display of the clock 
>>>>> in the NSStatusBar.
>>>>> 
>>>>> If set by method 2, cocoa frameworks reflect this and the Date & Time 
>>>>> setting is disabled noting that the setting has been overridden.
>>>>> 
>>>>> So if a user uses method 1, potentially unaware of method 2, how should 
>>>>> one go about determining the user's intentions.
>>>> 
>>>> It seems obvious to me that method 1 only refers to the clock display in 
>>>> the menu bar and nothing else. It’s a sub setting of 
>>>> “Show date and time in the menu bar”.
>>>> 
>>>> If you honour whatever preference is set by method 2 as your code fragment 
>>>> below does, you’ll be fine.
>>>> 
>>> I feel like fewer people use/find method 2, simply stopping at method 1.  
>>> This may be a gross assumption on my part.  Under my assumption they would 
>>> simply think my app doesn't display 24 hr time or respect the system 
>>> setting.  Am I being to sensitive here?
>>> 
>>> Sandor
>>>> 
>>>>> 
>>>>> There are deprecated methods using: (didn't try, it's deprecated)
>>>>>  NSUserDefaults with the key NSShortTimeDateFormatString
>>>>> 
>>>>> There are supported methods using: (works with method 2)
>>>>>  NSString *format = [NSDateFormatter dateFormatFromTemplate:@"j" 
>>>>> options:0 locale:[NSLocale currentLocale]];
>>>>>  BOOL is24Hour = ([format rangeOfString:@"a"].location == NSNotFound);
>>>>> 
>>>>> Can anyone provide any clarity here?
>>>>> 
>>>>> Sandor
>>>>> _______________________________________________
>>>>> 
>>>>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com 
>>>>> <mailto:Cocoa-dev@lists.apple.com>)
>>>>> 
>>>>> Please do not post admin requests or moderator comments to the list.
>>>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com 
>>>>> <http://lists.apple.com/>
>>>>> 
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> https://lists.apple.com/mailman/options/cocoa-dev/adc%40jeremyp.net 
>>>>> <https://lists.apple.com/mailman/options/cocoa-dev/adc%40jeremyp.net>
>>>>> 
>>>>> This email sent to a...@jeremyp.net <mailto:a...@jeremyp.net>
>>>> 
>>>> --
>>>> Jeremy Pereira
>>>> jeremy.pere...@aptosolutions.co.uk 
>>>> <mailto:jeremy.pere...@aptosolutions.co.uk>
>>>> 07884 265457
>> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to