개요[ | ]
- Go k8s 스타일 Age 함수
- Go getAgeFromDuration()
Go
Copy
package main
import (
"fmt"
"time"
)
func toK8sAgeString(duration time.Duration) string {
totalSeconds := int(duration.Seconds())
days := totalSeconds / 86400
hours := (totalSeconds % 86400) / 3600
minutes := (totalSeconds % 3600) / 60
seconds := totalSeconds % 60
result := ""
if days > 0 {
result = fmt.Sprintf("%dd", days)
} else if hours > 0 {
result = fmt.Sprintf("%dh", hours)
} else if minutes > 0 {
result = fmt.Sprintf("%dm", minutes)
} else {
result = fmt.Sprintf("%ds", seconds)
}
return result
}
func main() {
durations := []time.Duration{
time.Second * 45, // 45s
time.Minute * 5, // 5m
time.Hour + time.Minute*25, // 1h
time.Hour*24 + time.Hour*3, // 1d
time.Hour * 72, // 3d
}
for _, duration := range durations {
fmt.Println(toK8sAgeString(duration))
}
}
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.