簡體   English   中英

使用Objective-C將時間戳解析為日期和時間時出現的問題

[英]Issue while parsing timestamp into date and time using Objective-C

我正在使用stringFormat獲取服務器的timestamp ,以miliseconds

我必須將其轉換為日期和時間,並顯示給用戶。

我已經使用以下代碼完成了它:

    + (NSString *)getDateAndMonthFromTimeStamp:(NSString*)timestampString
{
NSTimeInterval timeStamp = [timestampString integerValue]/1000;

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

[dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];

[dateFormatter setDateFormat:@"dd MMM"];

 NSString *dateNmonth =  [[dateFormatter stringFromDate:date]uppercaseString];

return dateNmonth;
}

當我在iPhone6中運行它時,它工作正常。 但是,當我在iPhone 5和iPhone5s中運行它時,它顯示了我不需要的日期。

我調試了代碼,發現了這一點:

  timestampString = @"1459498716000"

  NSTimeInterval timeStamp = [timestampString integerValue]/1000; 
 //after this timeStamp becomes:
  timeStamp = 2147483;

然后我的約會日期變為1970-01-25 20:31:23 +0000

我懷疑NSTimeinterval充滿了數據。 這是正確的嗎?

我怎樣才能解決這個問題。

試試這個代碼

NSString* takeOffTime = @"1396614600000"; 
double miliSec = takeOffTime.doubleValue; 
NSDate* takeOffDate = [NSDate dateWithTimeIntervalSince1970:miliSec/1000]; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM