Datetime 타임 스탬프를 NSDate로 변환하는 방법? 역수를 만드는 방법은 무엇입니까?Datetime C#을 Objective c 및 invertion으로 변환
문자열로 날짜를 변환하는 나의 방법 :
이+(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;
}
내가 1495497600는 "2017년 5월 23일"를 나타냅니다 [self jsonToDate:@"/Date(1495497600)/"]
를 사용하는 방법이 저를 반환 잘못된 날짜 (결과 = "01/18/1970"). 왜?
참고 : 내가 시간을 고려하고 있지 않다
만 날짜입니다. 내 변수 milisec은 1495497600과 같으므로 문제는 dateWithTimeIntervalSince1970
입니다. 이미
같은 몇 가지 게시물을 시도해보십시오
Convert milliseconds to NSDate
How to Convert a milliseconds to nsdate in objective C 당신은 정말 끝에서 밀리 초를 나눌 필요가 없습니다
1495497600은 "05/23/2013"이 아니며 "05/23/2017"입니다. 이 줄에서 돌아 오는 json을 확인하십시오. json = [[[json stringByReplacingOccurrencesOfString .......] 일반 텍스트 편집기로 복사하면 거기에 잘못 인코딩 된 문자가있을 수 있습니다. –
내가 질문을 업데이 트 –