timex

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2021 License: MIT Imports: 3 Imported by: 1

Documentation

Overview

Package timex 实现time常用操作 所有time类型使用local时区转化处理

Index

Examples

Constants

View Source
const (
	// DatetimeFormat 默认日期时间格式
	DatetimeFormat = "2006-01-02 15:04:05"
	// DateFormat 默认日期格式
	DateFormat = "2006-01-02"
	// TimeFormat 默认时间格式
	TimeFormat = "15:04:05"
	// RFC3339Z   = "2006-01-02T15:04:05.999Z"
	RFC3339Z  = "2006-01-02T15:04:05.999Z"
	RFC3339NZ = "2006-01-02T15:04:05.999"
)

Variables

View Source
var (
	// DateStart DateBegin 函数别名
	DateStart = DateBegin
)

Functions

func DateBegin

func DateBegin(t time.Time) time.Time

DateBegin 返回指定日期时间最开始的值

func DateEnd

func DateEnd(t time.Time) time.Time

DateEnd 返回指定日期时间结束的值

func DaysBetween

func DaysBetween(fromDate time.Time, toDate time.Time) int

DaysBetween 返回开始时间和结束时间之间的天数

func EndOfMonth

func EndOfMonth(date time.Time) time.Time

EndOfMonth 返回指定时间月份的最后一天

func Format

func Format(t time.Time, f ...string) string

Format 日期时间格式化 可包含三个参数 1、时间对象 2、格式化字符串(string) 3、空值时返回值字符串(string)

func IsBeforeDate

func IsBeforeDate(t1 time.Time, t2 time.Time) bool

IsBeforeDate 判断第一个日期是否在第二个日期之前

func IsSameDate

func IsSameDate(t1 time.Time, t2 time.Time) bool

IsSameDate 判断两个时间是否是同一日期

func Pretty

func Pretty(t time.Time, overtimeFormatter ...string) string

Pretty 返回指定时间消逝时间字符串

Example
timeSlots := []struct {
	name string
	t    time.Time
}{
	{name: "Just now", t: time.Now()},
	{name: "Second", t: time.Now().Add(
		time.Hour*time.Duration(0) +
			time.Minute*time.Duration(0) +
			time.Second*time.Duration(1)),
	},
	{name: "SecondAgo", t: time.Now().Add(
		time.Hour*time.Duration(0) +
			time.Minute*time.Duration(0) +
			time.Second*time.Duration(-1)),
	},
	{name: "Minutes", t: time.Now().Add(time.Hour*time.Duration(0) +
		time.Minute*time.Duration(59) +
		time.Second*time.Duration(59))},
	{name: "Tomorrow", t: time.Now().AddDate(0, 0, 1)},
	{name: "Yesterday", t: time.Now().AddDate(0, 0, -1)},
	{name: "Week", t: time.Now().AddDate(0, 0, 7)},
	{name: "WeekAgo", t: time.Now().AddDate(0, 0, -7)},
	{name: "Month", t: time.Now().AddDate(0, 1, 0)},
	{name: "MonthAgo", t: time.Now().AddDate(0, -1, 0)},
	{name: "Year", t: time.Now().AddDate(2, 0, 0)},
	{name: "YearAgo", t: time.Now().AddDate(-2, 0, 0)},
}

for _, timeSlot := range timeSlots {
	fmt.Printf("%s = %v\n", timeSlot.name, Format(timeSlot.t))
}

func PrettyByLang

func PrettyByLang(t time.Time, lang Lang, overtimeFormatter ...string) (timeSince string)

PrettyByLang 根据指定语言返回指定时间消逝时间字符串

func StartOfMonth

func StartOfMonth(date time.Time) time.Time

StartOfMonth 返回指定时间月份的第一天

func Timestamp added in v0.2.0

func Timestamp(date time.Time) int64

Timestamp 返回自UTC 1970-01-01起经过的毫秒数

Types

type Lang

type Lang string

Lang 语言

const (

	// CHS 简体中文
	CHS Lang = "CHS"
	// CHT 繁体中文
	CHT Lang = "CHT"
	// ENG 英语
	ENG Lang = "ENG"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL