给定一个特定DateTime
值,我如何显示相对时间,如:
我从某个事件中获得了一定的秒数.它存储在NSTimeInterval数据类型中.
我想把它转换成分钟和秒.
例如,我有:"326.4"秒,我想将其转换为以下字符串:"5:26".
实现这一目标的最佳方法是什么?
谢谢.
我想将nsdate转换为相对格式"Today","Yesterday","a week ago","a month ago","a year ago","date as it is"
.
我已经为它写了以下方法..但有些如何只是打印,因为它是日期..你能告诉我应该是什么问题吗?
//以下是我的函数,它将日期转换为相对字符串
+(NSString *)getDateDiffrence:(NSDate *)strDate{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.timeStyle = NSDateFormatterMediumStyle;
df.dateStyle = NSDateFormatterShortStyle;
df.doesRelativeDateFormatting = YES;
NSLog(@"STRING DATEEE : %@ REAL DATE TODAY %@",[df stringFromDate:strDate],[NSDate date]);
return [df stringFromDate:strDate];
}
Run Code Online (Sandbox Code Playgroud)
我有以下格式的日期字符串 "2013-10-29T09:38:00"
当我试图给出NSDate对象时,它总是返回我的null日期.
所以我试图将该日期转换为yyyy-MM-dd HH:mm:ssZZZZ
然后我将此日期传递给函数然后它只是打印整个日期..
如何解决这个问题呢?
//以下是我调用上述函数的代码
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *date = [formatter dateFromString:[threadDict objectForKey:@"lastMessageDate"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZZZZ"];
NSString *date1 = [formatter stringFromDate:date];
NSDate *date_d = …
Run Code Online (Sandbox Code Playgroud) 我正在寻找模糊日期算法.我刚刚开始写一个,并意识到它是一个繁琐的任务.它迅速退化为许多可怕的代码,以应对特殊情况,如"昨天","上周"和"上个月末"之间的差异,所有这些都可以(在某些情况下)指的是同一天但是个别正确根据今天的日期.
我确信必须有一个开源模糊日期格式化器,但我找不到它.理想情况下,我喜欢使用NSDate(OSX/iPhone)及其格式化程序,但这并不困难.有没有人知道模糊日期格式化程序相对于现在采取任何时间段并返回像(但不限于)的字符串:
在一个理想的世界中,我希望字符串尽可能丰富(即在"刚才之前"返回随机变体,例如"just now").
澄清.我正在寻找比基本的buckts和字符串更微妙的东西.我想要一些知道"昨天"和"上周三"的东西都可以指同一时期,但只有一个是正确的,今天是星期四.
如何将以下日期"Sun Jul 17 07:48:34 +0000 2011"转换为以下格式"2011-07-17 07:48:34"?
我使用NSDateFormatter
如下所示,但它没有工作.结果是null.
NSDateFormatter *objDateFormatter = [[NSDateFormatter alloc] init];
[objDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[objDateFormatter dateFromString:sDate];
Run Code Online (Sandbox Code Playgroud) 我试图使用Swift将UTC格式的日期从API转换为人类可读的近似格式.
我正在寻找以下内容:
2015-07-14T13:51:05.423Z
至
大约两周前
Swift中最好的方法是什么?虽然最好这可以直接格式化字符串,但我知道这可能需要将字符串转换为NSDate对象.
任何帮助将不胜感激.
编辑:我的问题已被确定为另一个问题的可能重复.Tom的解决方案是针对Swift编写的,并且比根据我的情况创建一个新方法更优雅.
基本上,我从API获取日期时间字符串,我想在应用程序中显示此活动发生在"5小时前"或"3天前",依此类推......
我目前正在尝试从[NSDate timeIntervalSinceNow]
方法中获取NSTimeInterval .然后再使用将时间间隔转换为NSDate [NSDate dateWithTimeIntervalSince1970:interval]
.然后检查间隔,看它是否小于60/3600/86400 /等,为输出NSDateFormatter对象设置正确的格式.
这是正确的方法吗?或者有更简单/更好的方法吗?