簡體   English   中英

Parse.com + NSDate:將解析的檢索日期轉換為本地時區

[英]Parse.com + NSDate : Convert Parse Date Retrieved to local timezone

我在從解析中下載對象時遇到了一個非常困難的問題,即是“今天”。

我正在下載的對象是事件。 每個都有一個startTime屬性(NSDate)-存儲事件的日期和時間。 通過閱讀parse文檔和stackoverflow.com上的其他問題,Parse中的日期將存儲為“ UTC”時區。

當我嘗試以下操作時未得到任何結果時:

[query whereKey:@"startTime" greaterThan:[NSDate date]]; 

現在,我不在乎時間的開始時間,而在乎以下格式的日期:“ MM / dd”

我試圖檢索所有對象並將開始時間轉換為本地時間,但沒有成功。 當我進行轉換時,startTimes實際上是一天假(一天之后)。 因此,如果事件是08/29-它會打印08/28。

我嘗試將其轉換為本地時間,然后比較結果是否等於今天的日期,但仍然沒有運氣。

NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/"];
[dateFormat Time:@"MM/dd/":[NSTimeZone systemTimeZone]];
NSDateFormatter *todayDateFormat = [[NSDateFormatter alloc] init];
[todayDateFormat setDateFormat:@"MM/dd"];
NSString *todayString = [dateFormat stringFromDate:today];
NSString *activityDateString = [dateFormat stringFromDate:event.startTime];

if ([todayString isEqualToString:activity.activityDate]){
  //add to events array. 
}

任何幫助將不勝感激。 我花了很多時間試圖完成這項工作,但沒有成功。

謝謝!

解析使用UTC時間。 因此,將其轉換為您的時間應該是:

NSDate *objDate = [parseObject objectAtIndex:indexPath.row];
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MM/dd"];
[format setTimeZone:[NSTimeZone systemTimeZone]];
NSString *date = [format stringFromDate:objDate];

暫無
暫無

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

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