草庐IT

NSDateFormatter

全部标签

iphone - 我在 iPhone 上的日期字符串中使用什么格式的字符串来表示毫秒?

我需要以包含毫秒的格式解析字符串。我使用什么格式字符串来获取正确的日期值?例如,假设我有一个具有以下值的字符串:“2011-06-23T13:13:00.000”在下面的代码中,我将什么格式字符串传递给我的NSDateFormatter?NSString*dateValue=@"2011-06-23T13:13:00.000";NSDateFormatter*formatter=[[NSDateFormatteralloc]init];NSString*formatString=@"yyyy-MM-dd'T'HH:mm:ss.???";[formattersetDateFormat:f

iOS:将 UTC NSDate 转换为本地时区

如何在ObjectiveC或/和Swift中将UTCNSDate转换为本地时区NSDate? 最佳答案 NSTimeIntervalseconds;//assumethisexistsNSDate*ts_utc=[NSDatedateWithTimeIntervalSince1970:seconds];NSDateFormatter*df_utc=[[[NSDateFormatteralloc]init]autorelease];[df_utcsetTimeZone:[NSTimeZonetimeZoneWithName:@"UTC

iOS:将 UTC NSDate 转换为本地时区

如何在ObjectiveC或/和Swift中将UTCNSDate转换为本地时区NSDate? 最佳答案 NSTimeIntervalseconds;//assumethisexistsNSDate*ts_utc=[NSDatedateWithTimeIntervalSince1970:seconds];NSDateFormatter*df_utc=[[[NSDateFormatteralloc]init]autorelease];[df_utcsetTimeZone:[NSTimeZonetimeZoneWithName:@"UTC

ios - 处理 NSDateFormatter 语言环境 "feature"的最佳方法是什么?

看来NSDateFormatter有个“特点”让你意想不到:如果你做一个简单的“固定”格式操作比如:NSDateFormatter*fmt=[[NSDateFormatteralloc]init];[fmtsetDateFormat:@"yyyyMMddHHmmss"];NSString*dateStr=[fmtstringFromDate:someDate];[fmtrelease];然后它在美国和大多数地区都可以正常工作,直到...有人将手机设置为24小时区域,将设置中的12/24小时切换设置为12。然后上面开始添加“AM”或“PM"到结果字符串的末尾。(参见,例如,NSDateF

ios - 处理 NSDateFormatter 语言环境 "feature"的最佳方法是什么?

看来NSDateFormatter有个“特点”让你意想不到:如果你做一个简单的“固定”格式操作比如:NSDateFormatter*fmt=[[NSDateFormatteralloc]init];[fmtsetDateFormat:@"yyyyMMddHHmmss"];NSString*dateStr=[fmtstringFromDate:someDate];[fmtrelease];然后它在美国和大多数地区都可以正常工作,直到...有人将手机设置为24小时区域,将设置中的12/24小时切换设置为12。然后上面开始添加“AM”或“PM"到结果字符串的末尾。(参见,例如,NSDateF

iOS15.4.1 NSDateFormatter 返回为空问题。

今天解决了一个困扰我好几天的问题。解决起来很快,关键是复现问题,定位问题太难了。当手机系统时间为24小时制时,没有问题。当手机时间切换到12小时制时,格式化后的时间为nil。NSString*tempStr=@“2022-05-0515:26:09”;NSDateFormatter*formatter=[[NSDateFormatteralloc]init];//这里的yyyy如果写成大写,就会在每年的年底,遭遇一年一次的跨年bug。[formattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"];NSDate*endDate=[formatterdateFromS

iOS15.4.1 NSDateFormatter 返回为空问题。

今天解决了一个困扰我好几天的问题。解决起来很快,关键是复现问题,定位问题太难了。当手机系统时间为24小时制时,没有问题。当手机时间切换到12小时制时,格式化后的时间为nil。NSString*tempStr=@“2022-05-0515:26:09”;NSDateFormatter*formatter=[[NSDateFormatteralloc]init];//这里的yyyy如果写成大写,就会在每年的年底,遭遇一年一次的跨年bug。[formattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"];NSDate*endDate=[formatterdateFromS