iOS - 日期格式导致年份+1

19年最后一天12.31日,测试老哥突然跟我说时间计算出问题了,吓得我感觉回去看代码。

由于我需要将时间戳转换为只带年月日的字符串,以此来比较两个日期是否为同一天,所以出现了问题

现象:

currentDate进去,strdate 转出来,发现年份加了1!

经过验证和排除,发现原因比较奇葩:是由于日期格式使用了 YYYY-MM-dd ,大写的年份,如果改为小写则正常

原因是YYYY 是以周为单位计算的,我们平常计算日期时最好用yyyy,yyyy才是标注的年份

原文地址:https://www.cnblogs.com/qzCodeDiary/p/12157831.html

时间: 2024-08-30 01:58:30

iOS - 日期格式导致年份+1的相关文章

ios日期格式转换

转自:http://blog.csdn.net/l_ch_g/article/details/8217725 1.如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型: NSString* string = @"20110826134106"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease]; [inputFormatter set

iOS 日期格式转换

1.如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型: NSString* string = @"20110826134106"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease]; [inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@&qu

ios日期格式yyyy-MM-dd

看到示例代码展示的日期格式,不符合本地化习惯,查看帮助文档,修改成常用的年月日格式,记录供以后查找: NSDate *now = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"yyyy-MM-dd"]; self.dateLabel.text = [df stringFromDate:now]; //    [NSDateFormatter localiz

源码分析之FastJson全局配置日期格式导致@JSONField(format = "yyyy-MM-dd")注解失效

出现的问题 我全局配置的时间格式是:yyyy-MM-dd HH:mm:ss @JSONField注解配置的时间格式是:yyyy-MM-dd 最终的返回结果是:yyyy-MM-dd HH:mm:ss 问题:为啥不是以注解定义的时间格式为主呢? 先说答案,后面再分析: FastJson的全局配置日期格式会导致@JSONField注解失效 使用建议: 1.若全局配置了日期格式,就不要使用@JSONField注解 2.若想使用@JSONField注解,就不要全局配置日期格式 一.FastJson全局配置

iOS 日期格式 星期几 本地

NSArray *weekdayAry = [NSArray arrayWithObjects:@"星期日", @"星期一", @"星期二",@"星期三", @"星期四", @"星期五", @"星期六", nil];    NSDateFormatter *formater =[[NSDateFormatter alloc] init];    [formater s

IOS --- 日期时间格式 转换

1.如何如何将一个字符串如" 20110826134106"装化为任意的日期时间格式,下面列举两种类型: NSString* string [email protected]"20110826134106"; NSDateFormatter*inputFormatter = [[[NSDateFormatter alloc] init]autorelease]; [inputFormattersetLocale:[[[NSLocale alloc] initWith

关于IOS下日期格式分隔符 - 、 /的问题

之前我们项目有一个低价日历,服务端下发的时间格式为: "2014-07-21 09:45:12"  然后一直出不了数据,后来发现. IOS下无论chrome.safari还是Uc如果日期格式是分隔符是 - 的时候,后面带时.分.秒这种情况就是有问题. 大家有兴趣的可以试一下: <script> var s = '2014-04-10 09:10:10'; var d = new Date(s).getTime(); alert(d); //NAN var s2 = '201

HTML报表日期格式不对 导致报错ORA-01861: 文字与格式字符串不匹配

PROCEDURE MAIN(ERRBUF OUT VARCHAR2, RETCODE OUT VARCHAR2, P_CUSTOMER_ID IN VARCHAR2, P_PERSON_ID IN VARCHAR2, P_MAKER_ID IN VARCHAR2, P_START_DATE IN VARCHAR2, --这里为字符格式 P_END_DATE IN VARCHAR2 --这里为字符格式 ) IS l_contract_date_from DATE; -- 合同日期至 l_cont

iOS日期转换之UTC/GMT时间格式

GMT只需要将代码中的UTC替换为GMT即可 //将本地日期字符串转为UTC日期字符串 //本地日期格式:2013-08-03 12:53:51 //可自行指定输入输出格式 -(NSString *)getUTCFormateLocalDate:(NSString *)localDate { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //输入格式 [dateFormatter setDateFormat:@"