123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package mhayaTime
- // DiffInYears 相差多少年
- func (c MhayaTime) DiffInYears(end MhayaTime) int64 {
- return c.DiffInMonths(end) / 12
- }
- // DiffInYearsWithAbs 相差多少年(绝对值)
- func (c MhayaTime) DiffInYearsWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInYears(end))
- }
- // DiffInMonths 相差多少月
- func (c MhayaTime) DiffInMonths(end MhayaTime) int64 {
- dy, dm, dd := end.Year()-c.Year(), end.Month()-c.Month(), end.Day()-c.Day()
- if dd < 0 {
- dm = dm - 1
- }
- if dy == 0 && dm == 0 {
- return 0
- }
- if dy == 0 && dm != 0 && dd != 0 {
- if int(end.DiffInHoursWithAbs(c)) < c.DaysInMonth()*HoursPerDay {
- return 0
- }
- return int64(dm)
- }
- return int64(dy*MonthsPerYear + dm)
- }
- // DiffInMonthsWithAbs 相差多少月(绝对值)
- func (c MhayaTime) DiffInMonthsWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInMonths(end))
- }
- // DiffInWeeks 相差多少周
- func (c MhayaTime) DiffInWeeks(end MhayaTime) int64 {
- return c.DiffInDays(end) / DaysPerWeek
- }
- // DiffInWeeksWithAbs 相差多少周(绝对值)
- func (c MhayaTime) DiffInWeeksWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInWeeks(end))
- }
- // DiffInDays 相差多少天
- func (c MhayaTime) DiffInDays(end MhayaTime) int64 {
- return c.DiffInSeconds(end) / SecondsPerDay
- }
- // DiffInDaysWithAbs 相差多少天(绝对值)
- func (c MhayaTime) DiffInDaysWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInDays(end))
- }
- // DiffInHours 相差多少小时
- func (c MhayaTime) DiffInHours(end MhayaTime) int64 {
- return c.DiffInSeconds(end) / SecondsPerHour
- }
- // DiffInHoursWithAbs 相差多少小时(绝对值)
- func (c MhayaTime) DiffInHoursWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInHours(end))
- }
- // DiffInMinutes 相差多少分钟
- func (c MhayaTime) DiffInMinutes(end MhayaTime) int64 {
- return c.DiffInSeconds(end) / SecondsPerMinute
- }
- // DiffInMinutesWithAbs 相差多少分钟(绝对值)
- func (c MhayaTime) DiffInMinutesWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInMinutes(end))
- }
- // DiffInSeconds 相差多少秒
- func (c MhayaTime) DiffInSeconds(end MhayaTime) int64 {
- return end.ToSecond() - c.ToSecond()
- }
- // DiffInSecondsWithAbs 相差多少秒(绝对值)
- func (c MhayaTime) DiffInSecondsWithAbs(end MhayaTime) int64 {
- return GetAbsValue(c.DiffInSeconds(end))
- }
- // DiffInMillisecond 相差多少毫秒
- func (c MhayaTime) DiffInMillisecond(end MhayaTime) int64 {
- return end.ToMillisecond() - c.ToMillisecond()
- }
- // DiffInMicrosecond 相关多少微秒
- func (c MhayaTime) DiffInMicrosecond(end MhayaTime) int64 {
- return end.ToMicrosecond() - c.ToMicrosecond()
- }
- // DiffINanosecond 相关多少纳秒
- func (c MhayaTime) DiffINanosecond(end MhayaTime) int64 {
- return end.ToNanosecond() - c.ToNanosecond()
- }
|