我如何将 NSDate() 分成几块?
Posted
技术标签:
【中文标题】我如何将 NSDate() 分成几块?【英文标题】:How can i divide NSDate() into pieces? 【发布时间】:2016-05-12 20:12:56 【问题描述】:func date() -> String
return NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: NSDateFormatterStyle.ShortStyle, timeStyle: NSDateFormatterStyle.MediumStyle)
var date = date() // 2016. 5. 13. 오전 4:45:16
以上代码,date每次调用date()时获取韩国当前日期值
我希望从 NSDate() 中刷新新值,因此将刷新新值插入到下面代码中的变量中
var yearMonDay = "2016. 5. 13"
var hourMinSec = "오전 4:45:16"
hmmm 有没有办法将 NSDate() 分成如下代码的片段?
yearMonDay = NSDate().?? // refresh date "year: month: day"
hourMinSec = NSDate().?? // refresh date "am/fm hour:minute:second
【问题讨论】:
考虑重新表述问题。用 NSDateComponents 实现的不是你想要的吗? 【参考方案1】:可以使用 NSCalendar 的组件来拆分小时等组件
let today = NSDate()
let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!
let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: today)
print("\(components.month) \(components.day) \(components.year)")
print("\(components.hour) \(components.minute) \(components.second)")
使用 NSDate 格式化程序,您可以找到名称
let formatter = NSDateFormatter()
let monthName = formatter.monthSymbols[components.month-1]
print(monthName)
【讨论】:
NSDate(timeIntervalSinceNow: 0)
???请使用NSDate()
。除此之外,您还可以使用 NSDateFormatter 来获取月份名称,请查看 ***.com/a/27369380/2303865【参考方案2】:
您可以使用NSDateFormatterStyle:
// get the current date and time
let currentDateTime = NSDate()
// initialize the date formatter and set the style
let formatter = NSDateFormatter()
// October 26, 2015
formatter.timeStyle = NSDateFormatterStyle.NoStyle
formatter.dateStyle = NSDateFormatterStyle.LongStyle
formatter.stringFromDate(currentDateTime)
// 6:00:50 PM
formatter.timeStyle = NSDateFormatterStyle.MediumStyle
formatter.dateStyle = NSDateFormatterStyle.NoStyle
formatter.stringFromDate(currentDateTime)
【讨论】:
非常感谢!添加问题日期如何本地化?以上是关于我如何将 NSDate() 分成几块?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 NSDate 值插入 Cloud Firestore 文档
当第一个描述符是 NSDate 时,多个 NSSortDescriptor 不起作用