英文:
Calculate the 15 min time bin the current time falls into using go
问题
所以我不知道如何计算当前时间的15分钟时间段。
一天有1440分钟。所以有96个15分钟的时间段。那么我如何在golang中计算时间段?
func getCurrentMinutes(current time.Time) (int, error) {
min, err := strconv.Atoi(current.Format("04"))
if err != nil {
return 0, err
}
return min, nil
}
func GetTimeBin(current time.Time, binDuration float64) float64 {
min, _ := getCurrentMinutes(current)
bin := float64(min) / binDuration
return math.Ceil(bin)
}
我上面的实现是错误的,因为我考虑了一个小时内的15分钟时间段。我需要找到当前时间在一天中的15分钟时间段。
提前感谢!
英文:
So I am unaware on how to calculate the 15 min time bin for the current time.
A day has 1440 minutes. So 96 - 15 min bins. So how can i calculate the time bin in golang?
func getCurrentMinutes(current time.Time) (int, error) {
min, err := strconv.Atoi(current.Format("04"))
if err != nil {
return 0, err
}
return min, nil
}
func GetTimeBin(current time.Time, binDuration float64) float64 {
min, _ := getCurrentMinutes(current)
bin := float64(min) / binDuration
return math.Ceil(bin)
}
The above implementation I have done is wrong as I am considering 15 min bins for an hour. I need to find the 15 min bin for the current time in the context of the day.
Thanks in advance!
答案1
得分: 0
这是我想到的一个工作示例。
func GetTimeBin(current time.Time, binDuration float64) float64 {
hours := current.Hour()
min := current.Minute() + hours*60
bin := float64(min) / binDuration
return math.Ceil(bin)
}
这段代码的作用是根据给定的当前时间和时间间隔,计算时间所属的时间段。具体实现是将当前时间转换为分钟数,然后除以时间间隔,最后向上取整得到时间段。
英文:
This is the working example I came up with.
func GetTimeBin(current time.Time, binDuration float64) float64 {
hours := current.Hour()
min := current.Minute() + hours*60
bin := float64(min) / binDuration
return math.Ceil(bin)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论