我正在尝试为iOS开发一个与调度程序和日历相关的事件应用程序。使用在线数据库(解析数据库)进行商店活动&用户详细信息。
详情:
一位用户为特定日期创建活动(即每个星期一,从特定日期开始,为期5周),并邀请其他用户参加活动。
事件仅在所有用户的定义天数内有效,即如果事件日是星期一,那么事件仅在星期一对所有用户的星期一(当地时间)有效。
问题:如何根据当地时间检查用户的活动是否有效? desc:如果事件日是星期五(2016年1月1日),那么事件仅对星期五(2016年1月1日)的所有用户有效,即用户当地时间是星期五(2016年1月1日)然后事件处于活动状态用户。所有其他用户都一样。
如何在服务器数据库上维护此功能并通知用户事件今天是否有效? 我正在使用解析数据库,所有这些逻辑都是使用Cloud Code在Parse上实现的。
编辑:我尝试根据UTC时区激活事件。对于上面的示例,事件在2016年1月1日00:00:00.000Z激活,在2016年2月1日00:00:00.000Z结束。这适用于UTC + 00的用户,但对于UTC + 5:30的用户,活动在1/1/2016 05:30:00激活,并在2016年2月1日5:30:00关闭。但事件应仅在2016年1月1日00:00:00至2/1/2016 00:00:00之间激活。具有不同时区的所有用户都存在同样的问题。
答案 0 :(得分:0)
//尝试并比较以下给出的日期当更改时区,然后按照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);