【问题标题】:convert NSDate to GMT timezone将 NSDate 转换为 GMT 时区
【发布时间】:2013-06-12 04:52:19
【问题描述】:

我正在研究 NSDate,我是新手。我有开始日期和结束日期,从用户那里获取。它是 2013-01-01 and 2013-02-19。当我尝试在控制台中显示时,它显示我 2012-12-31 18:30:00 +0000.So你可以说5:30 是间隙。所以我要添加时间间隔

startDate = [aStartdDate dateByAddingTimeInterval:19800];
endDate = [aEndDate dateByAddingTimeInterval:19800];

我的问题是,当我尝试使用 2012-12-31 18:30:00 +0000 日期获取当前周时,它正确显示了我。但是当我使用 2013-02-01 00:00:00 +0000 日期时,它显示了我一个月的总周数。请帮助我。谢谢你。

【问题讨论】:

  • 您是如何获得周数的,您可以发布该代码吗?
  • 使用此代码- NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSRange weekRange = [日历 rangeOfUnit:NSWeekCalendarUnit inUnit:NSMonthCalendarUnit forDate:date];int week = week range.length;
  • 你需要把NSDate的概念和你脑海中的时区分开,它们是不相连的

标签: ios nsdate


【解决方案1】:

时区不应成为模型的一部分 - 它们是一个表示问题。
您的模型应始终使用通用的默认时区。如果您向用户显示日期,请应用使用 specific timezoneNSDateFormatter

在您的情况下,这意味着您不应尝试通过应用任意间隔来修复日期,而应在最后一步(输出)中使用日期格式化程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 2014-04-22
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多