【问题标题】:How to manage recurring Event for All Timezone user For Specific local Day?如何管理特定本地日期的所有时区用户的重复事件?
【发布时间】:2015-12-31 09:53:49
【问题描述】:

我正在尝试为 iOS 开发一个依赖调度程序和日历的事件应用程序。它使用在线数据库(解析数据库)来存储事件和用户详细信息。

详情:

  • 一个用户为特定日期创建事件(即从特定日期起连续 5 周的每个星期一)并邀请其他用户参加事件。

  • 事件将仅在所有用户的定义日期激活,即如果事件日为星期一,则事件仅在所有用户的星期一(当地时间)的星期一激活。

问题:如何根据当地时间检查用户的事件是否处于活动状态? desc :如果事件日是星期五 (1/1/2016),则事件仅在星期五 (1/1/2016) 对所有用户有效,即用户本地时间是星期五 (1/1/2016),则事件对此有效用户。所有其他用户都一样。

如何在服务器数据库上维护它并通知用户今天的事件是活跃的? 我正在使用解析数据库,所有这些逻辑都将在 Parse 上使用 Cloud Code 实现。

编辑:我尝试根据 UTC 时区激活事件。对于上面的示例,事件在 1/1/2016 00:00:00.000Z 激活并在 2/1/2016 00:00:00.000Z 关闭。这适用于 UTC+00 的用户,但对于 UTC+5:30 的用户,事件在 2016 年 1 月 1 日 05:30:00 激活并在 2016 年 2 月 1 日 5:30:00 关闭。但事件应仅在 2016 年 1 月 1 日 00:00:00 到 2016 年 2 月 1 日 00:00:00 之间有效。不同时区的所有用户都会遇到同样的问题。

【问题讨论】:

标签: date parse-platform timezone parse-cloud-code recurring-events


【解决方案1】:

// 尝试和比较下面给出的日期,当更改时区时,然后将时间设置为 01/01/2016 00:00:00 %@,例如 UTC、GMT 等.....

  NSDateFormatter *formated = [[NSDateFormatter alloc] init];
  formated.dateFormat = @"dd/MM/yyyy HH:mm:ss zzz";
  NSDate *utc = [formated dateFromString:@"01/01/2016 00:00:00 UTC"];
  formated.timeZone = [NSTimeZone systemTimeZone];
  NSString *local = [formated stringFromDate:utc];
  NSLog(@"%@", local);



  NSDateFormatter *formated2 = [[NSDateFormatter alloc] init];
  formated2.dateFormat = @"dd/MM/yyyy HH:mm:ss zzz";
  NSDate *utc2 = [formated2 dateFromString:@"02/01/2016 00:00:00 UTC"];
  formated2.timeZone = [NSTimeZone systemTimeZone];
  NSString *local2 = [formated2 stringFromDate:utc2];
  NSLog(@"%@", local2);

【讨论】:

  • 这行不通。您只是将 UTC 时间转换为本地时间。
猜你喜欢
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
  • 2013-10-22
相关资源
最近更新 更多