Tag: nscalendar

我如何设置一个NSDate对象到午夜?

我有一个NSDate对象,我想将它设置为任意时间(比如午夜),这样我就可以使用timeIntervalSince1970函数来一致地检索数据,而不用担心创build对象的时间。 我已经尝试使用NSCalendar并通过使用一些Objective-C方法修改其组件,如下所示: let date: NSDate = NSDate() let cal: NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)! let components: NSDateComponents = cal.components(NSCalendarUnit./* a unit of time */CalendarUnit, fromDate: date) let newDate: NSDate = cal.dateFromComponents(components) 上述方法的问题是你只能设置一个单位时间( /* a unit of time */ ),所以你只能有以下一个准确的: 天 月 年 小时 分钟 秒 有没有办法同时设置小时,分钟和秒钟,并保留date(日/月/年)?

NSCalendar每周的第一天

有谁知道是否有办法在NSCalendar上设置一周的第一天,或者是否有一个日历已经有星期一作为一周的第一天,而不是星期天。 我目前正在开发基于一周工作量的应用程序,它需要在星期一而不是星期天开始。 我很可能会做一些工作来解决这个问题,但是会有很多的情况。 我宁愿平台为我做。 提前致谢 这里有一些我正在使用的代码。 现在是星期六,所以我希望那个星期几是6,而不是7,那意味着星期天是7,而不是滚到0 NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; [gregorian setFirstWeekday:0]; unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit; NSDateComponents *todaysDate = [gregorian components:unitFlags fromDate:[NSDate date]]; int dayOfWeek = todaysDate.weekday;

使用NSDate获取星期几

我创build了一个方法,该方法应该以“YYYY-MM-DD”forms取出一个string,并且吐出一个int值来表示相对于它所处的星期的date位置(不pipe它是否与月份重叠)。 所以例如星期日= 1星期一= 2等等。 这是我的代码: func getDayOfWeek(today:String)->Int{ var formatter:NSDateFormatter = NSDateFormatter() formatter.dateFormat = "YYYY-MM-DD" var todayDate:NSDate = formatter.dateFromString(today)! var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar) var myComponents = myCalendar.components(NSCalendarUnit.WeekdayOrdinalCalendarUnit, fromDate: todayDate) var weekDay = myComponents.weekdayOrdinal return weekDay } 我知道NSCalendarUnit.WeekdayOrdinalCalendar是错误的,但我已经试过我认为最合乎逻辑的组合。 并且还会使用mycomponents.day或.weekday来mycomponents.day myComponents.weekdayOrdinal 。 以下是我的选项: static var EraCalendarUnit: NSCalendarUnit { get } static var YearCalendarUnit: NSCalendarUnit { get } […]

iPhone操作系统:如何创build特定date的NSDate?

看起来像一个简单的事情,但我似乎无法find办法做到这一点。 看到一对夫妇不同的方法真是太棒了。

如何确定是否NSDate是今天?

如何检查一个NSDate属于今天? 我曾经使用[aDate description]前10个字符来检查它。 [[aDate description] substringToIndex:10]返回"YYYY-MM-DD"这样的string,所以我把string与[[[NSDate date] description] substringToIndex:10]返回的string进行了比较。 有更快和/或更简洁的方法来检查? 谢谢。

本月的第一天和最后一天

我试图迅速地获得本月的第一天和最后一天。 到目前为止,我有以下几点: let dateFormatter = NSDateFormatter() let date = NSDate() dateFormatter.dateFormat = "yyyy-MM-dd" let calendar = NSCalendar.currentCalendar() let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: date) let month = components.month let year = components.year let startOfMonth = ("\(year)-\(month)-01") 但我不知道如何得到最后的date。 有没有一种内置的方法我错过了? 显然它必须考虑到闰年等。

Swift 2.0日历组件错误

嗨我得到这个错误在迅速2.0 无法使用types为'(NSCalendarUnit,fromDate:NSDate?,toDate:NSDate?,options:nil)'的参数列表调用'components'' var hoy = dataFormatter.stringFromDate(NSDate()) var despues = dataFormatter.stringFromDate(fecha) var calHoy = dataFormatter.dateFromString(hoy) var calcDesp = dataFormatter.dateFromString(despues) let cal = NSCalendar.currentCalendar() let unit:NSCalendarUnit = .Day let components = cal.components(unit, fromDate: calcDesp, toDate: calHoy, options: nil)

UILocalNotification自定义闹钟重复间隔(太阳,星期一,星期三,星期四,星期五,星期五,星期六)

我使用UILocalNotification作为报警目的。 我有一个自定义选项重复基于平日(太阳,星期一,星期二,星期四,星期五,星期五,星期六)。 这么多的应用程序完成了这个过 我最好地尝试了我的水平。 但是我无法让它工作。 请你们帮我….

NSDate得到年/月/日

如果没有其他信息,我怎么能得到一个NSDate对象的年/月/日? 我意识到我可以用类似这样的方式做到这一点: NSCalendar *cal = [[NSCalendar alloc] init]; NSDateComponents *components = [cal components:0 fromDate:date]; int year = [components year]; int month = [components month]; int day = [components day]; 但是对于像NSDate的年/月/日那样简单的事情来说,这似乎是一大麻烦。 有没有其他解决scheme?