我有这段时间以毫秒为单位,我在XML Feed中收到,而且我需要以任何适当的形式显示任何人都可以理解的时间。将时间从毫秒转换为人类可读的日期
任何人都可以指导我如何实现这样的行为?
谢谢。
注:我得到的毫秒时间是在UNIX时间。
我有这段时间以毫秒为单位,我在XML Feed中收到,而且我需要以任何适当的形式显示任何人都可以理解的时间。将时间从毫秒转换为人类可读的日期
任何人都可以指导我如何实现这样的行为?
谢谢。
注:我得到的毫秒时间是在UNIX时间。
使用NSDate
的dateWithTimeIntervalSince1970:
方法是将您的时间戳记除以1000.0
。
NSDate* date = [NSDate dateWithTimeIntervalSince1970:timestamp/1000.0];
有关格式化的更多详细信息,请参阅this question。
与间隔创建一个NSDate
对象,然后使用一个NSDateFormatter
对象来把它转换成显示值,就像这样:
- (void)displayDate:(double)unixMilliseconds {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:unixMilliseconds/1000.];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];
NSLog("The date is %@", [dateFormatter stringFromDate:date]);
[dateFormatter release];
}
很显然,你应该一次分配的格式,如果你这样做保持它周围很多。
对不起,但zneak是第一个回答这个问题.... – astazed
这很酷,我没有注意到他的答案中的链接如何格式化,所以我试着给出一个更完整的答案。 –
我为每一个日期我试着用这些方法转换''1月16日1970'。但是,当我使用在线转换工具时,我得到了真正的结果.... – astazed
只是删除了'/ 1000.0'部分。它工作得很好! – astazed
呵呵。你没有时间毫秒吗? – zneak