utils.UnixFromFutureDate   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
dl 0
loc 2
rs 10
c 0
b 0
f 0
nop 1
1
package utils
2
3
import (
4
	"fmt"
5
	"time"
6
)
7
8
const (
9
	second time.Duration = time.Second
10
	minute time.Duration = time.Minute
11
	hour   time.Duration = time.Hour
12
	day    time.Duration = hour * 24
13
	week   time.Duration = day * 7
14
	month  time.Duration = day * 30
15
	year   time.Duration = day * 365
16
)
17
18
func UnixFromPastDate(subDuration time.Duration) int {
19
	return int(SubTime(subDuration).UnixNano() / 1000000000)
20
}
21
22
func UnixFromFutureDate(duration time.Duration) int {
23
	return int(AddTime(duration).UnixNano() / 1000000000)
24
}
25
26
func Errorf(msg string, a ...interface{}) error {
27
	return fmt.Errorf("[Timeago]: "+msg, a...)
28
}
29
30
func SubTime(duration time.Duration) time.Time {
31
	return time.Now().Add(-duration)
32
}
33
34
func AddTime(duration time.Duration) time.Time {
35
	return time.Now().Add(duration)
36
}
37
38
func SubSeconds(duration time.Duration) time.Time {
39
	return SubTime(second * duration)
40
}
41
42
func SubMinutes(duration time.Duration) time.Time {
43
	return SubTime(minute * duration)
44
}
45
46
func AddMinutes(duration time.Duration) time.Time {
47
	return AddTime(minute * duration)
48
}
49
50
func SubHours(duration time.Duration) time.Time {
51
	return SubTime(hour * duration)
52
}
53
54
func AddHours(duration time.Duration) time.Time {
55
	return AddTime(hour * duration)
56
}
57
58
func SubDays(duration time.Duration) time.Time {
59
	return SubTime(day * duration)
60
}
61
62
func SubWeeks(duration time.Duration) time.Time {
63
	return SubTime(week * duration)
64
}
65
66
func SubMonths(duration time.Duration) time.Time {
67
	return SubTime(month * duration)
68
}
69
70
func SubYears(duration time.Duration) time.Time {
71
	return SubTime(year * duration)
72
}
73