|
|
@ -14,7 +14,8 @@ import (
|
|
14
|
14
|
|
|
15
|
15
|
// Day contains information about how long you've worked today.
|
|
16
|
16
|
type Day struct {
|
|
17
|
|
Start time.Time `json:"start"`
|
|
|
17
|
Start time.Time `json:"start"`
|
|
|
18
|
Break time.Duration `json:"break,omitempty"`
|
|
18
|
19
|
}
|
|
19
|
20
|
|
|
20
|
21
|
// modes:
|
|
|
@ -33,7 +34,18 @@ func main() {
|
|
33
|
34
|
writeDay(dayFile, day)
|
|
34
|
35
|
}
|
|
35
|
36
|
|
|
36
|
|
dur := time.Since(day.Start)
|
|
|
37
|
if len(os.Args) > 2 && os.Args[1] == "break" {
|
|
|
38
|
dur, err := time.ParseDuration(os.Args[2])
|
|
|
39
|
if err != nil {
|
|
|
40
|
fmt.Fprintln(os.Stderr, err)
|
|
|
41
|
os.Exit(1)
|
|
|
42
|
}
|
|
|
43
|
fmt.Fprintf(os.Stderr, "took a %s break\n", dur)
|
|
|
44
|
day.Break += dur
|
|
|
45
|
writeDay(dayFile, day)
|
|
|
46
|
}
|
|
|
47
|
|
|
|
48
|
dur := time.Since(day.Start) - day.Break
|
|
37
|
49
|
hours := dur.Hours()
|
|
38
|
50
|
minutes := dur.Minutes() - float64(int(hours)*60)
|
|
39
|
51
|
fmt.Printf("%d:%02d\n", int(hours), int(minutes))
|