【问题标题】:Truncate time from NSDate SWIFT从 NSDate SWIFT 截断时间
【发布时间】:2015-09-15 07:33:42
【问题描述】:

我想获取当前日期为 SEP 15,2015。我首先尝试使用 as 从 NSDate 中删除时间

  let calendar = NSCalendar.currentCalendar()
  let components = calendar.components(.CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear, fromDate: date)
  let currentdate = NSCalendar.currentCalendar().dateFromComponents(components)
  println(currentdate)

然而,不截断时间也使用了这种方法,它给了我单独的组件

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear, fromDate: date)
let year =  components.year
let month = components.month
let day = components.day
let monthname = components.weekday

但问题是我用第二种方法在int 中得到月份。我想将1 对应为January。我如何获得我的结果?

【问题讨论】:

    标签: ios swift nsdate nsdateformatter nsdatecomponents


    【解决方案1】:

    以下是以所需格式打印当前日期的代码:

    let today = NSDate().dateByAddingTimeInterval(0)     
    
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateStyle = .MediumStyle
    
    let dateToPrint: NSString = dateFormatter.stringFromDate(today) as NSString
    
    println(dateToPrint.uppercaseString)
    

    【讨论】:

    • 你能说我怎样才能得到月份名称“Sep”作为SEP
    • 我已经更新了我的答案。请接受它对你有用
    【解决方案2】:

    你可以像这样使用 NSDateFormatter 来格式化你的日期

    let formatter = NSDateFormatter()
    formatter.dateFormat = "MMM dd,yyyy"
    print(formatter.stringFromDate(NSDate()))
    

    【讨论】:

    • 你能说我怎样才能得到月份名称“Sep”作为SEP
    【解决方案3】:

    对不起这个问题..我应该了解dateFormatter.我从数字中得到月份名称所以问题解决了,但是如果有更好的方法..请说

        let date = NSDate()
        let calendar = NSCalendar.currentCalendar()
        let components = calendar.components(.CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear, fromDate: date)
    
        let year =  components.year
        let month = components.month
        let day = components.day
    
        let dateFormatter: NSDateFormatter = NSDateFormatter()
        let months = dateFormatter.shortMonthSymbols
        let monthSymbol = months[month-1] as! String
        println(monthSymbol)
    

    【讨论】:

    • 查看我的答案,无需使用NSCalendar
    猜你喜欢
    • 2011-05-10
    • 1970-01-01
    • 2011-07-03
    • 2018-04-24
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    相关资源
    最近更新 更多