var dateFormatter:DateFormatter!
var date:Date!
dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
date = Date()
//Today date
let dateString = dateFormatter.string(from: date)
print(dateString)
//Yesterday
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: date)!
let yesterdayString = dateFormatter.string(from: yesterday)
print(yesterdayString)
//This week
let startWeek = date.startOfWeek
//let endWeek = date.endOfWeek
let startWeekString = dateFormatter.string(from: startWeek!)
//let endWeekString = dateFormatter.string(from: endWeek!)
let dateString = dateFormatter.string(from: date)
print(startWeekString)
print(dateString)
//Last week problem
var calendar = Calendar.current
calendar.firstWeekday = 2 // 1 is Sunday, 2 is Monday
let lastWeek = calendar.date(byAdding: .weekOfYear, value: -1, to: Date())
if let lastWeek = lastWeek {
var startOfLastWeek = Date()
var interval = TimeInterval(0)
_ = Calendar.current.dateInterval(of: .weekOfYear, start: &startOfLastWeek, interval: &interval, for: lastWeek)
let endOfLastWeek = startOfLastWeek.addingTimeInterval(interval)
print(startOfLastWeek)
print(endOfLastWeek)
let startWeekString = dateFormatter.string(from: startOfLastWeek)
let endWeekString = dateFormatter.string(from: endOfLastWeek)
print(startOfLastWeek)
print(endOfLastWeek)
}
//This month
dateFormatter.dateFormat = "MM-yyyy"
var startOfMonth = dateFormatter.string(from: date)
print(startOfMonth)//04-2019
startOfMonth = "01-\(startOfMonth)"
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
let dateString = dateFormatter.string(from: date)
print(dateString)
//Last month
let lastMonth = Calendar.current.date(byAdding: .month, value: -1, to: date)
if let lastMonth = lastMonth {
var startOfLastMonth = Date()
var interval = TimeInterval(0)
_ = Calendar.current.dateInterval(of: .month, start: &startOfLastMonth, interval: &interval, for: lastMonth)
let endOfLastMonth = startOfLastMonth.addingTimeInterval(interval-1)
let startLastMonth = dateFormatter.string(from: startOfLastMonth)
let endLastMonth = dateFormatter.string(from: endOfLastMonth)
print(startLastMonth)
print(endLastMonth)
}
//Last 30days
let last30Days = Calendar.current.date(byAdding: .day, value: -30, to: date)!
print(dateFormatter.string(from: last30Days))//11-03-2019 13:16:50
let last30Day = dateFormatter.string(from: last30Days)
let s = last30Day.components(separatedBy: " ")
let dateString = dateFormatter.string(from: date)
print(dateString)
No comments:
Post a Comment