gpt4 book ai didi

ios - 如何分别显示时间 'just now' '1 minute ago' '1 hour ago'

转载 作者:行者123 更新时间:2023-11-28 19:52:43 31 4
gpt4 key购买 nike

我正在开发一款全局应用程序,其功能是我需要将发布时间分别显示为“刚刚”、“1 分钟前”、“1 小时前”。我在创建帖子并发送到网络服务时发送日期和时间。我为每个帖子检索相同的日期时间,我需要在每个帖子上显示相对时间(分别是现在,1 小时,1 周)。我是从网络服务获取实际日期
"created_date"= "2015-01-29 06:33:02";但是当我解析为 Nsdate 格式时,它返回日期为“2015-01-29 01:03:02 +0000” 这是将日期和时间发送到服务器的代码。

 NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];

[DateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLog(@"DateFormatter%@",[DateFormatter stringFromDate:[NSDate date]]);

下面的代码是我用来格式化字符串的日期。

 NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]init];

dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:[value valueForKey:@"created_date"]];
NSLog(@"Output :%@",date);

如何找到帖子共享的实际时间。我是 objective-c 的新手。我不确定我做错了什么。请任何人帮我解决这个问题。

最佳答案

这里好像有两个问题。

第一个是关于自然语言日期格式,我想你可能会找到 this相关的。

第二个问题看起来您对时区有些困惑。假设 GMT 没有任何偏移指示或 ICU 时区规范,NSDate 将解析您的日期。然后,当您将其打印出来时,很可能会使用您机器的当前语言环境来格式化输出日期。您应该阅读 NSDate 和 NSDateFormatter 对时区的处理。

将日期作为字符串发送到服务器时,您应该将其格式化为:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

// Special, agnostic locale
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];

// GMT
NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
[dateFormatter setTimeZone:timeZone];

// ISO 8601
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];

NSLog(@"DateFormatter%@",[dateFormatter stringFromDate:[NSDate date]]);

关于ios - 如何分别显示时间 'just now' '1 minute ago' '1 hour ago',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28217429/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com