|
|
package main
import ( "fmt" "strconv" "time"
"gopkg.in/mgo.v2/bson" )
func dateBeforeThan(dateA time.Time, dateB time.Time) bool { return dateA.Before(dateB) } func map24hours() map[int]int { h := make(map[int]int) for i := 0; i < 24; i++ { h[i] = 0 } return h } func decomposeDate(blockTime int64) (int, int, int, int) { /*i, err := strconv.ParseInt(blockTime, 10, 64) if err != nil { panic(err) }*/ i := blockTime year := time.Unix(i, 0).Year() month := time.Unix(i, 0).Month() day := time.Unix(i, 0).Day() hour := time.Unix(i, 0).Hour() return year, int(month), day, hour } func unixTimeToTime(blockTime int64) time.Time { return time.Unix(blockTime, 0) } func timeToDate(blockTime int64) string { stringTime := strconv.FormatInt(blockTime, 10) i, err := strconv.ParseInt(stringTime, 10, 64) if err != nil { panic(err) } tm := time.Unix(i, 0) //fmt.Println(tm)
stringDate := tm.String() //fmt.Println(stringDate)
return stringDate } func hourAnalysis(e EdgeModel, blockTime int64) { //fmt.Println(blockTime)
/*date := timeToDate(blockTime) dateHour := strings.Split(date, " ")[1] hourString := strings.Split(dateHour, ":")[0]*/ _, _, _, hour := decomposeDate(blockTime)
hourCount := ChartCountModel{} err := hourCountCollection.Find(bson.M{"hour": hour}).One(&hourCount) if err != nil { //date not yet in DB
var hourCount ChartCountModel hourCount.Elem = hour hourCount.Count = 1 err = hourCountCollection.Insert(hourCount) check(err) } else { hourCount.Count++ err = hourCountCollection.Update(bson.M{"hour": hour}, &hourCount) check(err) } } func dateAnalysis(e EdgeModel, blockTime int64) { fmt.Println(blockTime) date := timeToDate(blockTime)
dateCount := DateCountModel{} err := dateCountCollection.Find(bson.M{"date": date}).One(&dateCount) if err != nil { //date not yet in DB
var dateCount DateCountModel dateCount.Date = date dateCount.Time = blockTime dateCount.Count = 1 err = dateCountCollection.Insert(dateCount) check(err) } else { dateCount.Count++ err = dateCountCollection.Update(bson.M{"date": date}, &dateCount) check(err) } }
|