Questions tagged «nsdateformatter»

该类创建NSDate(和NSCalendarDate)对象的字符串表示形式,并将日期和时间的文本表示形式转换为NSDate对象。

4
处理NSDateFormatter语言环境“ feechur”的最佳方法是什么?
看起来 NSDateFormatter有一个“功能”意外地咬了你:如果执行简单的“固定”格式操作,例如: NSDateFormatter* fmt = [[NSDateFormatter alloc] init]; [fmt setDateFormat:@"yyyyMMddHHmmss"]; NSString* dateStr = [fmt stringFromDate:someDate]; [fmt release]; 然后在美国和大多数语言环境中都可以正常工作...某人将手机设置为24小时制,则将12/24小时切换设置设为12。然后,上面的操作将“ AM”或“ PM”添加到结果字符串的末尾。 (例如, NSDateFormatter,我做错了什么还是一个错误?) (看看 https://developer.apple.com/library/content/qa/qa1480/_index.html) 显然,苹果公司宣布它为“ BAD”-按设计要求被破坏,他们将不予修复。 显然,该规避措施是为特定区域(通常是美国)设置日期格式化程序的语言环境,但这有点混乱: NSLocale *loc = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [df setLocale: loc]; [loc release]; onsies-twosies还不错,但是我正在处理大约十种不同的应用程序,而我所研究的第一个应用程序有43种这种情况。 那么,对于宏/重写的类/如何在不使代码晦涩的情况下最大程度地减少更改所有工作的任何巧妙构想?(我的第一个本能是使用将在init方法中设置语言环境的版本覆盖NSDateFormatter。需要更改两行-分配/初始化行和添加的导入。) 添加 到目前为止,这是我要提出的内容-似乎适用于所有情况: @implementation BNSDateFormatter -(id)init { static NSLocale* en_US_POSIX = …

18
Swift中的日期格式
如何从日期转换该日期时间? 从此:2016-02-29 12:24:26 至:2016年2月29日 到目前为止,这是我的代码,它返回nil值: let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "MM-dd-yyyy" dateFormatter.timeZone = NSTimeZone(name: "UTC") let date: NSDate? = dateFormatter.dateFromString("2016-02-29 12:24:26") print(date)


8
将NSDate格式化为年,月,日以及时,分,秒的特定样式
我基本上需要分别获取当前日期和时间,格式为: 2009-04-26 11:06:54 下面的代码来自同一主题的另一个问题,它生成 现在:| 2009-06-01 23:18:23 +0100 | dateString:| 2009年6月1日23:18 | 解析:| 2009-06-01 23:18:00 +0100 | 这几乎是我想要的,但是我想将日期和时间分开。 NSDateFormatter *format = [[NSDateFormatter alloc] init]; [format setDateFormat:@"MMM dd, yyyy HH:mm"]; NSDate *now = [[NSDate alloc] init]; NSString *dateString = [format stringFromDate:now]; NSDateFormatter *inFormat = [[NSDateFormatter alloc] init]; [inFormat setDateFormat:@"MMM dd, yyyy"]; …

10
如何在iOS上获得ISO 8601日期?
2004-02-12T15:19:21+00:00通过date('c'),在PHP中获取ISO 8601日期字符串(例如)非常容易,但是如何在Objective-C(iPhone)中获取它呢?有没有类似的短途方法? 这是我发现可以做的很长的路要走: NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ"; NSDate *now = [NSDate date]; NSString *formattedDateString = [dateFormatter stringFromDate:now]; NSLog(@"ISO-8601 date: %@", formattedDateString); // Output: ISO-8601 date: 2013-04-27T13:27:50-0700 对于如此重要​​的事情,似乎有很多困难。



11
iOS:如何从数字中获取正确的月份名称?
我知道NSDateformatter功能套件对人类来说是一个福音,但与此同时,这也让我感到困惑。我希望你能帮助我。 在我的代码中的某个地方,有一个int代表一个月。因此:1是1月,2月2日,依此类推。 在我的用户界面中,我想将此整数显示为正确的月份名称。此外,它应遵守设备的语言环境。 谢谢您的见解 同时,我已经完成了以下工作: int monthNumber = 11 NSString * dateString = [NSString stringWithFormat: @"%d", monthNumber]; NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MM"]; NSDate* myDate = [dateFormatter dateFromString:dateString]; [dateFormatter release]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"MMMM"]; NSString *stringFromDate = [formatter stringFromDate:myDate]; [formatter release]; 这是这样做的方法吗?似乎有点罗word。

2
这个iOS是什么样的讽刺错误?
我有一些用于排序日历日期的代码,如下所示: #if !(TARGET_IPHONE_SIMULATOR) NSString *formatString = [NSDateFormatter dateFormatFromTemplate:@"HH:mm dd MMM yyyy" options:0 locale:[NSLocale currentLocale]]; [fmt setDateFormat:formatString]; #else [fmt setDateFormat:@"HH:mm dd MMM yyyy"]; #endif 如果我在模拟器中运行,一切正常。如果我在设备上运行它,则会收到此讽刺调试消息。 2012-09-19 22:40:13.972 APPNAME [4923:907] * -[__ NSCFCalendar components:fromDate:]:日期不能为零 我的意思是,您认为该操作应以零日期表示什么? 现在已经避免了异常。 这些错误中的一些错误将在此投诉中报告,然后进一步的违规将简单地无提示地执行nil导致的任何随机操作。这是这次发生的回溯(由于编译器优化,某些帧可能会丢失): 您必须嘲笑它​​,但是我不确定我的dateFormatFromTemplate:代码有什么问题。任何帮助,将不胜感激。 运行Xcode V 4.5 btw 更新: 回溯: 0 CoreFoundation 0x39ff0e55 + 84 1 APPNAME 0x00040be1-[MeetingsViewController …

11
获取时间戳格式的当前NSDate
我有一个获取当前时间并将其设置为字符串的基本方法。但是,如何获取自1970年以来的UNIX时间戳格式的当前日期和时间的格式? 这是我的代码: NSDate *currentTime = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"hh-mm"]; NSString *resultString = [dateFormatter stringFromDate: currentTime]; 是否可以NSDateFormatter将'resultString'更改为时间戳?

4
NSDateFormatter中“ YYYY”和“ yyyy”之间的区别
“ YYYY”和“ yyyy”之间的确切区别是什么。我在此链接中阅读,它指出 一个常见的错误是使用YYYY。yyyy指定日历年,而YYYY指定在ISO年周日历中使用的年份(“年中的一周”)。在大多数情况下,yyyy和YYYY产生相同的数字,但是它们可能不同。通常,您应该使用日历年。 但是当我尝试使用 NSString *stringDate = @"Feb 28, 2013 05:30pm"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"]; NSDate *date=[dateFormatter dateFromString:stringDate]; NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000 NSString *stringDatee = @"Feb 28, 2013 05:30pm"; NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init]; [dateFormatterr setDateFormat:@"MMM dd, YYYY …

11
Xcode将上午/下午时间快速转换为24小时格式
我正在尝试将上午/下午的格式时间转换为24小时的格式时间 6:35 PM to 18:35 我在操场上尝试了这段代码,但如果我把时间单独花在那儿似乎不起作用 let dateAsString = "02/12/15, 6:35 PM" let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "HH" let date = dateFormatter.dateFromString(dateAsString) //returns nil 有谁知道如何做到这一点? 谢谢。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.