ios - 将 Datetime c# 转换为 Objective c 和反转

标签 ios objective-c datetime timestamp nsdate

如何将 Datetime 时间戳转换为 NSDate? 怎么反推?

我将日期时间转换为字符串的方法:

+(NSString*) dateTojson:(NSDate*)date{

    return [NSString stringWithFormat:@"/Date(%f)/",(double)([date dateWithTimeIntervalSince1970] * 1000)];
}

我的逆向方法:

+(NSDate*) jsonToDate:(NSString *)json
{
    double milisec = 0;
    json = [[[json stringByReplacingOccurrencesOfString:@"/Date(" withString:@""] stringByReplacingOccurrencesOfString:@"/" withString:@""] stringByReplacingOccurrencesOfString:@"-0200" withString:@""];
    NSArray *arr = [json componentsSeparatedByString:@"-"];
    for(NSString *s in arr) {
        if(![s isEqualToString:@""]){
            milisec += [s doubleValue];
        }
    }

    NSDate *date = [NSDate dateWithTimeIntervalSince1970:(milisec / 1000.0)];

    return date;
}

当我使用 [self jsonToDate:@"/Date(1495497600)/"] 时,其中 1495497600 代表“05/23/2017”,该方法返回错误的日期(结果 =“01/18/1970”)。 为什么?

注意事项:

我不考虑时间,只考虑日期。 我的变量 milisec 等于 1495497600,所以我认为问题出在 dateWithTimeIntervalSince1970 方法上。

已经尝试过一些帖子,例如:

Convert milliseconds to NSDate

How to Convert a milliseconds to nsdate in objective C

最佳答案

你真的不需要在最后除以毫秒:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:milisec];

结果:

2017-05-23 00:00:00 +0000

关于ios - 将 Datetime c# 转换为 Objective c 和反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44145396/

相关文章:

ios - 如何将 UIImage 传递给 phonegap 以在图像控件中查看?

ios - Xcode 8 无效的二进制文件

date - 是否有比 UTC 更 "Date"的替代 "ambiguous"数据类型?

c# - 如何在 ASP.NET MVC 中的 View 上只显示 DATE 部分

ios - UIScrollView 滚动背景 View

ios - react native : "setBackgroundColor is only available on android" warning on iOS

ios - UIView bringSubviewToFront 打破了 UIScrollView 的自动布局

objective-c - 如何在垃圾收集的 Obj-C 中保留窗口而不保留指向它的指针?

python - Pandas :如何在毫秒间使用 between_time?

objective-c - iOS:如何将 UIViewAnimationCurve 转换为 UIViewAnimationOptions?