Swift - 打印一年中的当前周
Swift - Print what the current week of the year is
我需要一种方法来打印今年到目前为止的周数。
我已经设法打印了天数和月数(见下面的代码)。
但无法弄清楚如何对总周数执行相同的操作。
今年到目前为止的总天数:
let dateDay = Date()
let dateFormatterDay = DateFormatter()
dateFormatterDay.dateFormat = "DD"
let dateByDay = dateFormatterDay.string(from: dateDay)
print(dateByDay)
今年到目前为止的总月数:
let dateMonth = Date()
let dateFormatterMonth = DateFormatter()
dateFormatterMonth.dateFormat = "MM"
let dateByMonth = dateFormatterMonth.string(from: dateMonth)
print(dateByMonth)
今天的约会用这个:
Calendar.current.ordinality(of: .weekOfYear, in: .year, for: Date())!
同样,您可以将它用于一年中的某一天:
Calendar.current.ordinality(of: .day, in: .year, for: self)!
或当前月份:
Calendar.current.ordinality(of: .month, in: .year, for: self)!
您还可以将这些定义为 Date
的扩展:
extension Date {
public var dayOfYear: Int {
return Calendar.current.ordinality(of: .day, in: .year, for: self)!
}
public var weekOfYear: Int {
return Calendar.current.ordinality(of: .weekOfYear, in: .year, for: self)!
}
public var monthOfYear: Int {
return Calendar.current.ordinality(of: .month, in: .year, for: self)!
}
}
let nowDate = Date() //"Sep 3, 2018 at 10:54 AM"
nowDate.dayOfYear //246
nowDate.weekOfYear //36
nowDate.monthOfYear //9
试试下面的代码片段。写在Swift3和Swift4.
let calendar = Calendar.current
let weekOfYear = calendar.component(.weekOfYear, from: Date())
print(weekOfYear)
这将打印一年中的总周数。
extension Date{
var weekOfYear: Int {
return Calendar.current.component(.weekOfYear, from: self)
}
}
用法:
print("WeakOfYear :: ", Date().weekOfYear)
我需要一种方法来打印今年到目前为止的周数。
我已经设法打印了天数和月数(见下面的代码)。
但无法弄清楚如何对总周数执行相同的操作。
今年到目前为止的总天数:
let dateDay = Date()
let dateFormatterDay = DateFormatter()
dateFormatterDay.dateFormat = "DD"
let dateByDay = dateFormatterDay.string(from: dateDay)
print(dateByDay)
今年到目前为止的总月数:
let dateMonth = Date()
let dateFormatterMonth = DateFormatter()
dateFormatterMonth.dateFormat = "MM"
let dateByMonth = dateFormatterMonth.string(from: dateMonth)
print(dateByMonth)
今天的约会用这个:
Calendar.current.ordinality(of: .weekOfYear, in: .year, for: Date())!
同样,您可以将它用于一年中的某一天:
Calendar.current.ordinality(of: .day, in: .year, for: self)!
或当前月份:
Calendar.current.ordinality(of: .month, in: .year, for: self)!
您还可以将这些定义为 Date
的扩展:
extension Date {
public var dayOfYear: Int {
return Calendar.current.ordinality(of: .day, in: .year, for: self)!
}
public var weekOfYear: Int {
return Calendar.current.ordinality(of: .weekOfYear, in: .year, for: self)!
}
public var monthOfYear: Int {
return Calendar.current.ordinality(of: .month, in: .year, for: self)!
}
}
let nowDate = Date() //"Sep 3, 2018 at 10:54 AM"
nowDate.dayOfYear //246
nowDate.weekOfYear //36
nowDate.monthOfYear //9
试试下面的代码片段。写在Swift3和Swift4.
let calendar = Calendar.current
let weekOfYear = calendar.component(.weekOfYear, from: Date())
print(weekOfYear)
这将打印一年中的总周数。
extension Date{
var weekOfYear: Int {
return Calendar.current.component(.weekOfYear, from: self)
}
}
用法:
print("WeakOfYear :: ", Date().weekOfYear)