是否有一种很好的+简便的方法可以将iPhone时间戳转换为iPhone上的NSDate对象?我已经让我的客户给我一个带有时间戳的数据库作为Unix时间戳(加倍于0 = 1970年开始),但这对他们来说似乎是一个问题。感谢。
注意:您可以使用
轻松地将Unix时间戳转换为NSDate[NSDate dateWithTimeIntervalSince1970: timestamp] // timestamp is a "double"
我需要做的是将Oracle时间戳转换为双倍,即Unix时间戳。其余的很容易。
更多信息:我需要使用代表Oracle Timestamp格式的日期的NSStrings在iPhone上运行Objective-C代码。 Another StackOverflow thread建议使用NSDateFormatter,但我不知道要使用什么格式,并且该线程中建议的格式化程序的初始化方法会为我生成警告。
答案 0 :(得分:2)
我不确定转换为NSDate,但您可以轻松地将Oracle日期转换为unix时间戳。以下SQL代码段将执行此操作:
(my_date - to_date('01/01/1970','DD/MM/YYYY')) * 86400
答案 1 :(得分:2)
看起来我最好的选择是使用以下内容:
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy HH:mm a"];
我不确定Oracle时间戳有多少差异,所以如果上述方法存在问题,我很想知道。
感谢其他答案。我将提出问题,邀请其他方法。
答案 2 :(得分:2)
很遗憾你已经接受了这个答案,但这是最好的方法:
NSDate *dateTraded = [NSDate dateWithTimeIntervalSince1970 :[timestampVal integerValue]];
...其中timestampVal是表示时间戳值的NSString对象。