显示第一次打开应用程序的日期

时间:2013-09-28 20:49:37

标签: ios date datetime user-interface

我想显示日期,我制作的应用程序是第一次在视图中打开(这是目前整个应用程序中唯一的视图)。

在我看来,我最好使用哪种物品来显示日期以及如何在那里拍摄?

2 个答案:

答案 0 :(得分:2)

在AppDelegate中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    if(![[NSUserDefaults standardUserDefaults] objectForKey:@"firstOpenDate"])
    {
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateStyle:NSDateFormatterLongStyle];
        [[NSUserDefaults standardUserDefaults] setObject:[dateFormatter stringFromDate:[NSDate date]] forKey:@"firstOpenDate"];
    }
    NSLog(@"First Opened: %@",[[NSUserDefaults standardUserDefaults] objectForKey:@"firstOpenDate"]);


    return YES;
}

如果您需要其他格式,只需更改setDateStyle:NSDateFormatterLongStyle即可。您可以从任何地方查询NSUserDefaults

在ViewController.m中

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hi. You first opened the app on" message:[[NSUserDefaults standardUserDefaults] objectForKey:@"firstOpenDate"] delegate:nil cancelButtonTitle:@"Thanks" otherButtonTitles:nil];
    [alert show];
}

答案 1 :(得分:0)

首次启动时,请检查您是否使用objectForKey将日期保存到用户默认值。如果没有,请保存今天的日期

[NSDate date]

使用setObject:forKey:

的用户默认值

然后落入读取保存日期的代码中并进行比较,以查看该日期与今天之间已过去的天数。看一下NSCalendar方法组件:fromDate:toDate:options

您可能想要搜索"执行日历计算"在Xcode中阅读结果章节。