如何将系统毫秒转换为objective-c中的Date

时间:2012-01-10 09:28:42

标签: iphone objective-c

我从Web服务获取日期,如/ Date(1326067200000)/,如何将其转换为DD.MM.YYYY之类的日期?

4 个答案:

答案 0 :(得分:16)

您可以使用

    NSString *actDate = @"/Date(1326067200000)/";
    NSString *nDate = [[[[actDate componentsSeparatedByString:@"("] objectAtIndex:1] componentsSeparatedByString:@")"] objectAtIndex:0];
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:([nDate doubleValue] / 1000)];

date中,您将获得实际日期。您还可以使用

以“MM / dd / yyyy”格式对其进行格式化
    NSDateFormatter *dtfrm = [[NSDateFormatter alloc] init];
    [dtfrm setDateFormat:@"MM/dd/yyyy"];
    nDate = [dtfrm stringFromDate:date];

nDate中,您将以格式化的方式获得所需的日期。

答案 1 :(得分:0)

使用NSDate's initWithTimeIntervalSinceReferenceDate:(假设您的值使用2001年1月1日的第一个时刻,GMT作为参考日期)来获取表示时间戳的NSDate实例。

要获取格式化的字符串表示形式,您可以使用类NSDateFormatter

答案 2 :(得分:0)

试试这个......

NSDate *date=[[NSDate alloc] initWithTimeIntervalSinceReferenceDate:gettingdate];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:SS"];
NSString *newdate = [dateFormat stringFromDate:date];

答案 3 :(得分:0)

//Use of Function
textFiled.text = [self displayDate:[[NSString stringWithFormat:@"%@",[[[AllKeys valueForKey:@"Date"] componentsSeparatedByString:@"\"]]]]  


// Millisecond to Date conversion
- (NSDate *)displayDate:(double)unixMilliseconds {

    NSDate *date = [NSDate dateWithTimeIntervalSince1970:unixMilliseconds / 1000.];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateStyle:NSDateFormatterShortStyle];
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
    [dateFormatter setLocale:[NSLocale currentLocale]];

    NSLog(@"The date is %@", [dateFormatter stringFromDate:date]);
  //  NSDate *returnValue = [dateFormatter stringFromDate:date];
    return date;
}