ios - JSQMessage 从未格式化的字符串设置日期属性

标签 ios objective-c nsdate jsqmessagesviewcontroller

我从 API 接收聊天数据,它返回消息的日期如下:

    30 minutes ago
    1 hour ago
    2 weeks ago 
    ... etc

但是在 JSQMessage 中它只需要 NSDate,我搜索并没有找到一种动态的方法来将它转换为没有特定格式的 NSDate

JSQMessage* message = [[JSQMessage alloc] initWithSenderId:@"3" senderDisplayName:@"Name" date:@"" text:@"msg"];

任何帮助将不胜感激。

最佳答案

最好改变API响应。或者,您可以使用以下功能。

-(void)getLocationDetails:(NSString *)strDiffFrmAPI{
    NSDate *dateActual;
    if ([strDiffFrmAPI isEqualToString:@"30 minutes ago"]) {
        dateActual = [[NSCalendar currentCalendar] dateByAddingUnit:NSCalendarUnitMinute
                                                                      value:-30
                                                                     toDate:[NSDate date]
                                                            options:0];
    }
    else if ([strDiffFrmAPI isEqualToString:@"1 hour ago"]){
         dateActual = [[NSCalendar currentCalendar] dateByAddingUnit:NSCalendarUnitHour
                                                                      value:-1
                                                                     toDate:[NSDate date]
                                                                    options:0];
    }
    else if ([strDiffFrmAPI isEqualToString:@"2 weeks ago"]){
         dateActual = [[NSCalendar currentCalendar] dateByAddingUnit:NSCalendarUnitDay
                                                                      value:(-7*2)
                                                                     toDate:[NSDate date]
                                                                    options:0];
    }
}

我认为这不是一个好的方法。最好从 API 获取 Date 的时间戳值。

关于ios - JSQMessage 从未格式化的字符串设置日期属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268295/

相关文章:

ios - 个人热点打破 UI 布局

c# - "Read .JSON file"统一 C# 中的方法,也适用于 IOS 和 Android 平台

iphone - addSubview 奇怪的效果

ios - viewDidAppear 在 applicationDidBecomeActive 之前调用

ios - 从 iOS 中的字符串中删除毫秒

ios - 获取一个月的所有 NSDate(以及相邻几周的日期)

ios - 以编程方式设置 UIButton 的中心 - SWIFT

ios - 按钮点击事件的 NSUnknownKeyException

ios - UICollectionView 在 UICollectionViewCells 上调用 setNeedsDisplay

ios - 比较两个NSDate的月份和日期