将 Datetime c# 转换为 Objective c 并反转
Convert Datetime c# to Objective c and invertion
如何将 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”,方法 return 给我一个错误的日期(结果 =“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
如何将 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”,方法 return 给我一个错误的日期(结果 =“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