updated time zones
This commit is contained in:
@@ -7,6 +7,8 @@ struct CODDate {
|
||||
let month:Int
|
||||
let year:Int
|
||||
let day: Int
|
||||
let hour:Int
|
||||
let minute:Int
|
||||
}
|
||||
|
||||
|
||||
@@ -174,19 +176,19 @@ struct StatsController: RouteCollection {
|
||||
}
|
||||
|
||||
private func getStartDate() -> Date {
|
||||
|
||||
|
||||
let calendar = Calendar.current
|
||||
var components = DateComponents()
|
||||
components.timeZone = TimeZone(identifier: "GMT")
|
||||
components.day = 20
|
||||
components.month = 03
|
||||
components.year = 2020
|
||||
components.hour = 0
|
||||
components.hour = 4
|
||||
components.minute = 0
|
||||
return calendar.date(from: components)!
|
||||
}
|
||||
|
||||
private func createDate(day:Int, month:Int, year:Int) -> Date {
|
||||
private func createDate(day:Int, month:Int, year:Int, hour:Int, minute:Int) -> Date {
|
||||
let calendar = Calendar.current
|
||||
|
||||
var components = DateComponents()
|
||||
@@ -194,6 +196,8 @@ struct StatsController: RouteCollection {
|
||||
components.day = day
|
||||
components.month = month
|
||||
components.year = year
|
||||
components.hour = hour
|
||||
components.minute = minute
|
||||
return calendar.date(from: components)!
|
||||
}
|
||||
|
||||
@@ -202,20 +206,16 @@ struct StatsController: RouteCollection {
|
||||
|
||||
|
||||
func all(req: Request) throws -> EventLoopFuture<AllStats> {
|
||||
|
||||
|
||||
|
||||
|
||||
var date = getStartDate()
|
||||
var previousMonths:[CODDate] = []
|
||||
|
||||
repeat {
|
||||
//let stats = getStatsByMonth(year: date.year, month: date.month, req: req) //returns eventloopfuture<Stats>
|
||||
previousMonths.append(CODDate(month: date.month, year: date.year, day: 15))
|
||||
previousMonths.append(CODDate(month: date.month, year: date.year, day: 15, hour:6, minute: 0))
|
||||
date = Calendar.current.date(byAdding: .month, value: 1, to: date)!
|
||||
} while (date.month != (Date().month + 1) || date.year != Date().year)
|
||||
|
||||
|
||||
|
||||
func getMonthStats (_ remaining: ArraySlice<CODDate>, allMonthlyStats: inout [MonthStats], eventLoop: EventLoop) -> EventLoopFuture<[MonthStats]> {
|
||||
var remaining = remaining
|
||||
if let first = remaining.popLast() {
|
||||
@@ -286,11 +286,9 @@ struct StatsController: RouteCollection {
|
||||
var date = getStartDate()
|
||||
var previousDays:[CODDate] = []
|
||||
|
||||
|
||||
repeat {
|
||||
previousDays.append(CODDate(month: date.month, year: date.year, day: date.day))
|
||||
previousDays.append(CODDate(month: date.month, year: date.year, day: date.day, hour: date.hour, minute: date.minute))
|
||||
date = Calendar.current.date(byAdding: .day, value: 1, to: date)!
|
||||
|
||||
} while (date < Date())
|
||||
|
||||
return previousDays
|
||||
@@ -299,12 +297,8 @@ struct StatsController: RouteCollection {
|
||||
|
||||
func allDaily(req:Request) -> EventLoopFuture<AllDailyStats>{
|
||||
|
||||
|
||||
|
||||
|
||||
let previousDays = getDaysPlayed().reversed()
|
||||
|
||||
|
||||
|
||||
func getDailyStats (_ remaining: ArraySlice<CODDate>, allDailyStats: inout [DailyStats], eventLoop: EventLoop) -> EventLoopFuture<[DailyStats]> {
|
||||
var remaining = remaining
|
||||
if let first = remaining.popLast() {
|
||||
@@ -368,7 +362,8 @@ struct StatsController: RouteCollection {
|
||||
var cumulativeWinLossRatios = cumulativeWinLossRatios
|
||||
if !(stats.totalWins == 0 && stats.totalLosses == 0) {
|
||||
|
||||
let date = self.createDate(day: first.day, month: first.month, year: first.year)
|
||||
let date = self.createDate(day: first.day, month: first.month, year: first.year, hour: first.hour, minute:first.minute)
|
||||
print ("p \(date.timeIntervalSince1970)")
|
||||
cumulativeWinLossRatios.append(DataPoint(x:date.timeIntervalSince1970*1000 , y: (totalWins/totalLosses).truncate(places: 2)))
|
||||
}
|
||||
allDailyStats.append(DailyStats(day: first.day, month: first.month, year: first.year, stats: stats, cumulativeRatio: self.getRatio(num: totalWins, den: totalLosses)))
|
||||
@@ -401,17 +396,43 @@ extension Double
|
||||
extension Date {
|
||||
|
||||
var month:Int {
|
||||
let calanderDate = Calendar.current.dateComponents([.day, .year, .month], from: self)
|
||||
|
||||
var calendar = Calendar.current
|
||||
calendar.timeZone = TimeZone(identifier: "GMT")!
|
||||
let calanderDate = calendar.dateComponents([.minute, .month, .year, .hour, .day], from: self)
|
||||
return calanderDate.month ?? 1
|
||||
}
|
||||
|
||||
var year:Int {
|
||||
let calanderDate = Calendar.current.dateComponents([.day, .month, .year], from: self)
|
||||
|
||||
var calendar = Calendar.current
|
||||
calendar.timeZone = TimeZone(identifier: "GMT")!
|
||||
let calanderDate = calendar.dateComponents([.minute, .month, .year, .hour, .day], from: self)
|
||||
return calanderDate.year ?? 1
|
||||
}
|
||||
|
||||
var day:Int {
|
||||
let calanderDate = Calendar.current.dateComponents([.day, .month, .year], from: self)
|
||||
|
||||
var calendar = Calendar.current
|
||||
calendar.timeZone = TimeZone(identifier: "GMT")!
|
||||
let calanderDate = calendar.dateComponents([.minute, .month, .year, .hour, .day], from: self)
|
||||
return calanderDate.day ?? 1
|
||||
}
|
||||
|
||||
var hour:Int {
|
||||
|
||||
var calendar = Calendar.current
|
||||
calendar.timeZone = TimeZone(identifier: "GMT")!
|
||||
let calanderDate = calendar.dateComponents([.minute, .month, .year, .hour, .day], from: self)
|
||||
return calanderDate.hour ?? 1
|
||||
}
|
||||
|
||||
|
||||
var minute:Int {
|
||||
var calendar = Calendar.current
|
||||
calendar.timeZone = TimeZone(identifier: "GMT")!
|
||||
let calanderDate = calendar.dateComponents([.minute, .month, .year, .hour, .day], from: self)
|
||||
return calanderDate.minute ?? 1
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ struct CreateMatch: Migration {
|
||||
.id()
|
||||
.field("map", .string)
|
||||
.field("win", .bool)
|
||||
.field("date", .date)
|
||||
.field("date", .datetime)
|
||||
.field("roundsWon", .int)
|
||||
.field("roundsLost", .int)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user