首页 > 解决方案 > 设置自定义时间以允许 NSLocalNotif xcode

问题描述

请参阅以下示例代码 - 无法在此处使用自定义时间。为什么这不可能给出结果:

NSDate *dt1 = [NSDate date]; //2018-07-26 08:31:22 +0000

NSString *datestr = [NSString stringWithFormat:@"%@", [NSDate date]];//2018-07-26 10:42:09 +0001

NSString *cutstring = 09:00 PM;

标签: xcode

解决方案


我只会使用 NSDateComponents 创建日期,您可以在其中设置年、月、小时、分钟等。 请参阅 https://nshipster.com/nsdatecomponents/

从日期中提取组件 NSDateComponents 可以手动初始化和操作,但大多数情况下,它们是从指定日期提取的,使用 NSCalendar -components:fromDate:: Swift Objective-C

let calendar = NSCalendar.currentCalendar()
let date = NSDate()
let components = calendar.components([.Month, .Day], fromDate: date)

components 参数是要检索的日期组件值的位掩码,有许多可供选择:Swift Objective-C

NSCalendarUnit.Era
NSCalendarUnit.Year
NSCalendarUnit.Month
NSCalendarUnit.Day
NSCalendarUnit.Hour
NSCalendarUnit.Minute
NSCalendarUnit.Second
NSCalendarUnit.Weekday
NSCalendarUnit.WeekdayOrdinal
NSCalendarUnit.Quarter
NSCalendarUnit.WeekOfMonth
NSCalendarUnit.WeekOfYear
NSCalendarUnit.YearForWeekOfYear
NSCalendarUnit.Calendar
NSCalendarUnit.TimeZone

由于计算所有可能的值会很昂贵,因此请仅指定将在后续计算中使用的组件(与 | 连接,按位 OR 运算符)。


推荐阅读