• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
(repost) NSDateFormatter bug?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(repost) NSDateFormatter bug?


  • Subject: (repost) NSDateFormatter bug?
  • From: Alex Rice <email@hidden>
  • Date: Wed, 20 Mar 2002 12:42:36 -0700

I haven't gotten anywhere with this problem. I still am hopeful it's just me misunderstanding the intent of NSShortDateFormatString. Anyone have some ideas?


repost:
I am going to file a bug on NSDateFormatter and NSShortDateFormatString, unless someone can please correct me. I am sending to both cocoa-dev and macosx-dev because I asked this a week ago on cocoa-dev and got no responses.

NSShortDateFormatString is what the user sees in System Preferences | International | Date | Region and Short Date.

NSDateFormatter sometimes correctly responds to NSShortDateFormatString, and sometimes does NOT. I know it has problems with British and Finnish although I have not tried all of the formats. I discovered this because some British users were complaining that they couldn't enter dates correctly and sure enough it works fine for U.S. and German, but apparently not British, Finnish, and probably others.

Test case:

1) Create a Cocoa app with an editable TextField and an uneditable TextField label.

2) Create the controller class below, and connect the outlets and actions.

3) Run the app and using your System preferences, try various settings for your NSShortDateFormatString and try entering dates into the textfield. For example, with "British" for your Date format, 25/12/01 should be valid (xmas day) but is not accepted by the formatter. However, you can get to 25/12/01 by entering "next week", which it parses correctly. Similarly, in "Finnish" 25.12.01 is not accepted, but is valid according to the NSShortDateFormatString.

// Controller.h
#import <Cocoa/Cocoa.h>
@interface Controller : NSObject {
IBOutlet NSTextField *date;
IBOutlet NSTextField *label;
}
-(IBAction) acceptDate:(id) sender;
@end

---

// Controller.m
#import "Controller.h"
@implementation Controller
-(void) awakeFromNib
{
NSString *shortDateFormat = [[NSUserDefaults standardUserDefaults]
objectForKey:NSShortDateFormatString];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc]
initWithDateFormat:shortDateFormat
allowNaturalLanguage:YES] autorelease];

[date setFormatter:dateFormatter];
[label setStringValue:[NSString stringWithFormat:
@"NSShortDateFormatString = %@", shortDateFormat]];
}

-(void) acceptDate:(id) sender
{
NSLog(@"accepted date");
NSLog(@"%@", [date objectValue]);
}
@end


Alex Rice <email@hidden>
Mindlube Software
http://www.mindlube.com/
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Prev by Date: NSScrollView with text fields
  • Next by Date: Re: Script commands and the application object
  • Previous by thread: Re: NSScrollView with text fields
  • Next by thread: Can't change image of NSPopupButton
  • Index(es):
    • Date
    • Thread