我总是在iphone应用程序中与NSDate挣扎。我为美国客户开发了一款iphone应用程序。该应用程序应显示今天的日期。我在我的应用程序中使用了以下代码。这个日期对我来说是正确的(Am in India)。但是,该日期还显示了我(美国)客户的印度日期。我想从iphone / ipad设备上显示日期。
NSDate *today1 = [[NSDate alloc] init];
NSString *dates = [NSString stringWithFormat:@"%@",[today1 description]];
dates = [dates substringToIndex:10];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateStyle:NSDateFormatterBehaviorDefault];
[dateFormat setTimeZone:[NSTimeZone localTimeZone]];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormat dateFromString:dates];
怎么做?任何建议/示例代码来解决这个问题?我花了6个小时来解决我的问题但是,我找不到答案?请帮我。感谢您花时间与我共度。
答案 0 :(得分:4)
使用区域设置 请参阅代码打击来自here
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSLocale *gbLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSString *dateFormat;
NSString *dateComponents = @"yMMMMd";
dateFormat = [NSDateFormatter dateFormatFromTemplate:dateComponents options:0 locale:usLocale];
更新了以下答案
我已经测试过这应该可以在任何地方开箱即用。
NSDate *date = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
[dateFormat setLocale:[NSLocale currentLocale]];
NSString *dateString = [dateFormat stringFromDate:date];
[dateFormat release];
NSLog(@"Date: %@:", dateString);
答案 1 :(得分:1)
尝试使用
[dateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];