utils

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2023 License: MIT Imports: 36 Imported by: 6

Documentation

Overview

* @Author: liziwei01 * @Date: 2022-03-03 19:52:24 * @LastEditors: liziwei01 * @LastEditTime: 2023-10-28 14:12:00 * @Description:

* @Author: liziwei01 * @Date: 2022-06-28 01:08:34 * @LastEditors: liziwei01 * @LastEditTime: 2023-10-28 14:10:31 * @Description: file content

* @Author: liziwei01 * @Date: 2022-03-20 17:31:44 * @LastEditors: liziwei01 * @LastEditTime: 2023-10-28 14:08:21 * @Description: file content

* @Author: liziwei01 * @Date: 2022-06-28 01:12:49 * @LastEditors: liziwei01 * @LastEditTime: 2023-10-28 14:11:07 * @Description: file content

* @Author: liziwei01 * @Date: 2022-03-10 20:56:10 * @LastEditors: liziwei01 * @LastEditTime: 2022-03-10 20:56:11 * @Description: file content

* @Author: liziwei01 * @Date: 2022-03-04 23:49:32 * @LastEditors: liziwei01 * @LastEditTime: 2022-03-04 23:53:11 * @Description: file content

* @Author: liziwei01 * @Date: 2022-03-03 19:52:07 * @LastEditors: liziwei01 * @LastEditTime: 2022-04-23 00:39:03 * @Description: 切片工具

* @Author: liziwei01 * @Date: 2022-04-24 20:56:50 * @LastEditors: liziwei01 * @LastEditTime: 2022-04-24 20:56:56 * @Description: file content

* @Author: liziwei01 * @Date: 2022-03-20 17:40:38 * @LastEditors: liziwei01 * @LastEditTime: 2022-04-12 15:09:17 * @Description: file content

* @Author: liziwei01 * @Date: 2023-10-28 14:00:38 * @LastEditors: liziwei01 * @LastEditTime: 2023-10-28 14:12:11 * @Description: 读取xlsx文件

Index

Constants

View Source
const (

	// FILE_COVER_ALLOW 文件覆盖,允许
	FILE_COVER_ALLOW UFileCover = 1
	// FILE_COVER_IGNORE 文件覆盖,忽略
	FILE_COVER_IGNORE UFileCover = 0
	// FILE_COVER_DENY 文件覆盖,禁止
	FILE_COVER_DENY UFileCover = -1

	// FILE_TYPE_ANY 文件类型-任意
	FILE_TYPE_ANY UFileType = 0
	// FILE_TYPE_LINK 文件类型-链接文件
	FILE_TYPE_LINK UFileType = 1
	// FILE_TYPE_REGULAR 文件类型-常规文件(不包括链接)
	FILE_TYPE_REGULAR UFileType = 2
	// FILE_TYPE_COMMON 文件类型-普通文件(包括常规和链接)
	FILE_TYPE_COMMON UFileType = 3

	// FILE_TREE_ALL 文件树,查找所有(包括目录和文件)
	FILE_TREE_ALL UFileTree = 3
	// FILE_TREE_DIR 文件树,仅查找目录
	FILE_TREE_DIR UFileTree = 2
	// FILE_TREE_FILE 文件树,仅查找文件
	FILE_TREE_FILE UFileTree = 1

	// RAND_STRING_ALPHA 随机字符串类型,字母
	RAND_STRING_ALPHA URandString = 0
	// RAND_STRING_NUMERIC 随机字符串类型,数值
	RAND_STRING_NUMERIC URandString = 1
	// RAND_STRING_ALPHANUM 随机字符串类型,字母+数值
	RAND_STRING_ALPHANUM URandString = 2
	// RAND_STRING_SPECIAL 随机字符串类型,字母+数值+特殊字符
	RAND_STRING_SPECIAL URandString = 3
	// RAND_STRING_CHINESE 随机字符串类型,仅中文
	RAND_STRING_CHINESE URandString = 4

	// CASE_NONE 忽略大小写
	CASE_NONE UCaseSwitch = 0
	// CASE_LOWER 检查小写
	CASE_LOWER UCaseSwitch = 1
	// CASE_UPPER 检查大写
	CASE_UPPER UCaseSwitch = 2

	// PAD_LEFT 左侧填充
	PAD_LEFT UPadType = 0
	// PAD_RIGHT 右侧填充
	PAD_RIGHT UPadType = 1
	// PAD_BOTH 两侧填充
	PAD_BOTH UPadType = 2

	// PKCS_NONE 不进行填充
	PKCS_NONE UPKCSType = -1
	// PKCS_ZERO PKCS 0值填充
	PKCS_ZERO UPKCSType = 0
	// PKCS_SEVEN 即PKCS7
	PKCS_SEVEN UPKCSType = 7

	//默认浮点数精确小数位数
	FLOAT_DECIMAL = 10

	//AuthCode 动态密钥长度,须<32
	DYNAMIC_KEY_LEN = 8

	//检查连接超时的时间
	CHECK_CONNECT_TIMEOUT = time.Second * 5

	// 正则模式-全中文
	PATTERN_CHINESE_ALL = "^[\u4e00-\u9fa5]+$"

	// 正则模式-中文名称
	PATTERN_CHINESE_NAME = "^[\u4e00-\u9fa5][.•·\u4e00-\u9fa5]{0,30}[\u4e00-\u9fa5]$"

	// 正则模式-多字节字符
	PATTERN_MULTIBYTE = "[^\x00-\x7F]"

	// 正则模式-ASCII字符
	PATTERN_ASCII = "^[\x00-\x7F]+$"

	// 正则模式-全角字符
	PATTERN_FULLWIDTH = "[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]"

	// 正则模式-半角字符
	PATTERN_HALFWIDTH = "[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]"

	// 正则模式-词语,不以下划线开头的中文、英文、数字、下划线
	PATTERN_WORD = "^[a-zA-Z0-9\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]+$"

	// 正则模式-浮点数
	PATTERN_FLOAT = `^(-?\d+)(\.\d+)?`

	// 正则模式-邮箱
	PATTERN_EMAIL = "" /* 133-byte string literal not displayed */

	// 正则模式-用户名-英文
	PATTERN_USERNAMEEN = `^[a-zA-Z0-9_.]+$`

	// 正则模式-大陆手机号
	PATTERN_MOBILECN = `^1[3-9]\d{9}$`

	// 正则模式-固定电话
	PATTERN_TEL_FIX = `^(010|02\d{1}|0[3-9]\d{2})-\d{7,9}(-\d+)?$`

	// 正则模式-400或800
	PATTERN_TEL_4800 = `^[48]00\d?(-?\d{3,4}){2}$`

	// 正则模式-座机号(固定电话或400或800)
	PATTERN_TELEPHONE = `(` + PATTERN_TEL_FIX + `)|(` + PATTERN_TEL_4800 + `)`

	// 正则模式-电话(手机或固话)
	PATTERN_PHONE = `(` + PATTERN_MOBILECN + `)|(` + PATTERN_TEL_FIX + `)`

	// 正则模式-日期时间
	PATTERN_DATETIME = `^[0-9]{4}(|\-[0-9]{2}(|\-[0-9]{2}(|\s+[0-9]{2}(|:[0-9]{2}(|:[0-9]{2})))))$`

	// 正则模式-身份证号码,18位或15位
	PATTERN_CREDIT_NO = `` /* 158-byte string literal not displayed */

	// 正则模式-小写英文
	PATTERN_ALPHA_LOWER = `^[a-z]+$`

	// 正则模式-大写英文
	PATTERN_ALPHA_UPPER = `^[A-Z]+$`

	// 正则模式-字母和数字
	PATTERN_ALPHA_NUMERIC = `^[a-zA-Z0-9]+$`

	// 正则模式-十六进制颜色
	PATTERN_HEXCOLOR = `^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$`

	// 正则模式-RGB颜色
	PATTERN_RGBCOLOR = "" /* 157-byte string literal not displayed */

	// 正则模式-全空白字符
	PATTERN_WHITESPACE_ALL = "^[[:space:]]+$"

	// 正则模式-带空白字符
	PATTERN_WHITESPACE_HAS = ".*[[:space:]]"

	// 正则模式-连续空白符
	PATTERN_WHITESPACE_DUPLICATE = `[[:space:]]{2,}|[\s\p{Zs}]{2,}`

	// 正则模式-base64字符串
	PATTERN_BASE64 = "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$"

	// 正则模式-base64编码图片
	PATTERN_BASE64_IMAGE = `^data:\s*(image|img)\/(\w+);base64`

	// 正则模式-HTML标签
	PATTERN_HTML_TAGS = `<(.|\n)*?>`

	// 正则模式-DNS名称
	PATTERN_DNSNAME = `^([a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62}){1}(\.[a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62})*[\._]?$`

	// 正则模式-MD5
	PATTERN_MD5 = `^(?i)([0-9a-h]{32})$`

	// 正则模式-SHA1
	PATTERN_SHA1 = `^(?i)([0-9a-h]{40})$`

	// 正则模式-SHA256
	PATTERN_SHA256 = `^(?i)([0-9a-h]{64})$`

	// 正则模式-SHA512
	PATTERN_SHA512 = `^(?i)([0-9a-h]{128})$`
)
View Source
const BaseDir = "./temp_file/"
View Source
const (
	CONNECT_SIGN = ","
)

Variables

View Source
var (
	Slice   *USlice
	Config  *UConfig
	Request *URequest
	Md5     *UMd5
	File    *UFile
	UUID    *UUUID
	Time    *UTime
	Encrypt *UEncrypt
	Xlsx    *UXlsx
)
View Source
var (
	RegFormatDir             = regexp.MustCompile(`[\/]{2,}`) //连续的"//"或"\\"或"\/"或"/\"
	RegChineseAll            = regexp.MustCompile(PATTERN_CHINESE_ALL)
	RegChineseName           = regexp.MustCompile(PATTERN_CHINESE_NAME)
	RegWord                  = regexp.MustCompile(PATTERN_WORD)
	RegMultiByte             = regexp.MustCompile(PATTERN_MULTIBYTE)
	RegFullWidth             = regexp.MustCompile(PATTERN_FULLWIDTH)
	RegHalfWidth             = regexp.MustCompile(PATTERN_HALFWIDTH)
	RegFloat                 = regexp.MustCompile(PATTERN_FLOAT)
	RegEmail                 = regexp.MustCompile(PATTERN_EMAIL)
	RegMobilecn              = regexp.MustCompile(PATTERN_MOBILECN)
	RegTelephone             = regexp.MustCompile(PATTERN_TELEPHONE)
	RegPhone                 = regexp.MustCompile(PATTERN_PHONE)
	RegDatetime              = regexp.MustCompile(PATTERN_DATETIME)
	RegCreditno              = regexp.MustCompile(PATTERN_CREDIT_NO)
	RegAlphaLower            = regexp.MustCompile(PATTERN_ALPHA_LOWER)
	RegAlphaUpper            = regexp.MustCompile(PATTERN_ALPHA_UPPER)
	RegAlphaNumeric          = regexp.MustCompile(PATTERN_ALPHA_NUMERIC)
	RegHexcolor              = regexp.MustCompile(PATTERN_HEXCOLOR)
	RegRgbcolor              = regexp.MustCompile(PATTERN_RGBCOLOR)
	RegWhitespace            = regexp.MustCompile(`\s`)
	RegWhitespaceAll         = regexp.MustCompile(PATTERN_WHITESPACE_ALL)
	RegWhitespaceHas         = regexp.MustCompile(PATTERN_WHITESPACE_HAS)
	RegWhitespaceDuplicate   = regexp.MustCompile(PATTERN_WHITESPACE_DUPLICATE)
	RegBase64                = regexp.MustCompile(PATTERN_BASE64)
	RegBase64Image           = regexp.MustCompile(PATTERN_BASE64_IMAGE)
	RegHTMLTag               = regexp.MustCompile(PATTERN_HTML_TAGS)
	RegDNSname               = regexp.MustCompile(PATTERN_DNSNAME)
	RegURLBackslashDuplicate = regexp.MustCompile(`([^:])[\/]{2,}`) //URL中连续的"//"或"\\"或"\/"或"/\"
	RegMd5                   = regexp.MustCompile(PATTERN_MD5)
	RegSha1                  = regexp.MustCompile(PATTERN_SHA1)
	RegSha256                = regexp.MustCompile(PATTERN_SHA256)
	RegSha512                = regexp.MustCompile(PATTERN_SHA512)
	RegUsernameen            = regexp.MustCompile(PATTERN_USERNAMEEN)

	// PrivCidrs                 = regexp.MustCompile(PATTERN_ASCII)
	PrivCidrs []*net.IPNet
	// Uptime 当前服务启动时间
	Uptime = time.Now()
)

Functions

func CallFunc

func CallFunc(f interface{}, args ...interface{}) (results []interface{}, err error)

CallFunc 动态调用函数.

func ValidFunc

func ValidFunc(f interface{}, args ...interface{}) (vf reflect.Value, vargs []reflect.Value, err error)

ValidFunc 检查是否函数,并且参数个数、类型是否正确. 返回有效的函数、有效的参数.

Types

type CallBack

type CallBack func()

CallBack 回调执行函数,无参数且无返回值

type FileFilter

type FileFilter func(string) bool

FileFilter 文件过滤函数

type UCaseSwitch

type UCaseSwitch uint8

UCaseSwitch 枚举类型,大小写开关

type UConfig

type UConfig byte

type UEncrypt

type UEncrypt byte

func (*UEncrypt) AesCBCDecrypt

func (ue *UEncrypt) AesCBCDecrypt(cipherText, key []byte, paddingType ...UPKCSType) ([]byte, error)

AesCBCDecrypt AES-CBC密码分组链接(Cipher-block chaining)模式解密. cipherText为密文;key为密钥,长16/24/32;paddingType为填充方式,枚举(PKCS_NONE,PKCS_ZERO,PKCS_SEVEN),默认PKCS_SEVEN.

func (*UEncrypt) AesCBCEncrypt

func (ue *UEncrypt) AesCBCEncrypt(clearText, key []byte, paddingType ...UPKCSType) ([]byte, error)

AesCBCEncrypt AES-CBC密码分组链接(Cipher-block chaining)模式加密.加密无法并行,不适合对流数据加密. clearText为明文;key为密钥,长16/24/32;paddingType为填充方式,枚举(PKCS_ZERO,PKCS_SEVEN),默认PKCS_SEVEN.

func (*UEncrypt) AesCFBDecrypt

func (ue *UEncrypt) AesCFBDecrypt(cipherText, key []byte) ([]byte, error)

AesCFBDecrypt AES-CFB密文反馈(Cipher feedback)模式解密. cipherText为密文;key为密钥,长16/24/32.

func (*UEncrypt) AesCFBEncrypt

func (ue *UEncrypt) AesCFBEncrypt(clearText, key []byte) ([]byte, error)

AesCFBEncrypt AES-CFB密文反馈(Cipher feedback)模式加密.适合对流数据加密. clearText为明文;key为密钥,长16/24/32.

func (*UEncrypt) AesCTRDecrypt

func (ue *UEncrypt) AesCTRDecrypt(cipherText, key []byte) ([]byte, error)

AesCTRDecrypt AES-CTR计算器(Counter)模式解密. cipherText为密文;key为密钥,长16/24/32.

func (*UEncrypt) AesCTREncrypt

func (ue *UEncrypt) AesCTREncrypt(clearText, key []byte) ([]byte, error)

AesCTREncrypt AES-CTR计算器(Counter)模式加密. clearText为明文;key为密钥,长16/24/32.

func (*UEncrypt) AesOFBDecrypt

func (ue *UEncrypt) AesOFBDecrypt(cipherText, key []byte) ([]byte, error)

AesOFBDecrypt AES-OFB输出反馈(Output feedback)模式解密. cipherText为密文;key为密钥,长16/24/32.

func (*UEncrypt) AesOFBEncrypt

func (ue *UEncrypt) AesOFBEncrypt(clearText, key []byte) ([]byte, error)

AesOFBEncrypt AES-OFB输出反馈(Output feedback)模式加密.适合对流数据加密. clearText为明文;key为密钥,长16/24/32.

func (*UEncrypt) AuthCode

func (ue *UEncrypt) AuthCode(str, key []byte, encode bool, expiry int64) ([]byte, int64)

AuthCode 授权码编码或解码;encode为true时编码,为false解码;expiry为有效期,秒;返回结果为加密/解密的字符串和有效期时间戳.

func (*UEncrypt) Base64Decode

func (ue *UEncrypt) Base64Decode(str []byte) ([]byte, error)

Base64Decode 对使用 MIME base64 编码的数据进行解码.

func (*UEncrypt) Base64DecodeString

func (ue *UEncrypt) Base64DecodeString(str string) (string, error)

Base64Decode 对使用 MIME base64 编码的数据进行解码.

func (*UEncrypt) Base64Encode

func (ue *UEncrypt) Base64Encode(str []byte) []byte

Base64Encode 使用 MIME base64 对数据进行编码.

func (*UEncrypt) Base64EncodeString

func (ue *UEncrypt) Base64EncodeString(str string) string

Base64Encode 使用 MIME base64 对数据进行编码.

func (*UEncrypt) Base64UrlDecode

func (ue *UEncrypt) Base64UrlDecode(data []byte) ([]byte, error)

Base64UrlDecode url安全的Base64Decode.

func (*UEncrypt) Base64UrlEncode

func (ue *UEncrypt) Base64UrlEncode(source []byte) []byte

Base64UrlEncode url安全的Base64Encode,没有'/'和'+'及结尾的'=' .

func (*UEncrypt) EasyDecrypt

func (ue *UEncrypt) EasyDecrypt(val, key []byte) []byte

EasyDecrypt 简单解密. val为待解密的字符串,key为密钥.

func (*UEncrypt) EasyEncrypt

func (ue *UEncrypt) EasyEncrypt(data, key []byte) []byte

EasyEncrypt 简单加密. data为要加密的原字符串,key为密钥.

func (*UEncrypt) GenerateRsaKeys

func (ue *UEncrypt) GenerateRsaKeys(bits int) (private []byte, public []byte, err error)

GenerateRsaKeys 生成RSA密钥对.bits为密钥位数,通常为1024或2048.

func (*UEncrypt) HmacShaX

func (ue *UEncrypt) HmacShaX(data, secret []byte, x uint16) []byte

HmacShaX HmacSHA-x加密,x为1/256/512 .

func (*UEncrypt) PasswordHash

func (ue *UEncrypt) PasswordHash(password []byte, costs ...int) ([]byte, error)

PasswordHash 创建密码的散列值;costs为算法的cost,范围4~31,默认10;注意:值越大越耗时.

func (*UEncrypt) PasswordHashString

func (ue *UEncrypt) PasswordHashString(password string, costs ...int) (string, error)

PasswordHash 创建密码的散列值;costs为算法的cost,范围4~31,默认10;注意:值越大越耗时.

func (*UEncrypt) PasswordVerify

func (ue *UEncrypt) PasswordVerify(password, hash []byte) bool

PasswordVerify 验证密码是否和散列值匹配.

func (*UEncrypt) PasswordVerifyString

func (ue *UEncrypt) PasswordVerifyString(password, hash string) bool

PasswordVerify 验证密码是否和散列值匹配.

func (*UEncrypt) RsaPrivateDecrypt

func (ue *UEncrypt) RsaPrivateDecrypt(cipherText, privateKey []byte) ([]byte, error)

RsaPrivateDecrypt RSA私钥解密.比加密耗时. cipherText为密文,privateKey为私钥.

func (*UEncrypt) RsaPrivateEncrypt

func (ue *UEncrypt) RsaPrivateEncrypt(clearText, privateKey []byte) ([]byte, error)

RsaPrivateEncrypt RSA私钥加密.比解密耗时. clearText为明文,privateKey为私钥.

func (*UEncrypt) RsaPublicDecrypt

func (ue *UEncrypt) RsaPublicDecrypt(cipherText, publicKey []byte) ([]byte, error)

RsaPublicDecrypt RSA公钥解密. cipherText为密文,publicKey为公钥.

func (*UEncrypt) RsaPublicEncrypt

func (ue *UEncrypt) RsaPublicEncrypt(clearText, publicKey []byte) ([]byte, error)

RsaPublicEncrypt RSA公钥加密. clearText为明文,publicKey为公钥.

type UFile

type UFile byte

func (*UFile) CreateDir

func (u *UFile) CreateDir(path string) error

CreateDir 文件夹创建

func (*UFile) DelFile

func (u *UFile) DelFile(filename string) (err error)

DelFile 删除临时文件夹内的文件

func (*UFile) GetFileBytes

func (u *UFile) GetFileBytes(fileHeader *multipart.FileHeader) ([]byte, error)

*

  • @description: 根据FileHeader获取文件二进制数组
  • @param {*multipart.FileHeader} fileHeader
  • @return {*}

func (*UFile) GetFilePath

func (u *UFile) GetFilePath(filename string) string

获取临时文件夹内的临时文件路径

func (*UFile) IsExist

func (u *UFile) IsExist(f string) bool

IsExist 判断文件夹/文件是否存在 存在返回 true

func (*UFile) ReadFile

func (u *UFile) ReadFile(filename string) ([]byte, error)

func (*UFile) SaveFile

func (u *UFile) SaveFile(file multipart.File, filename string) (err error)

SaveFile 保存文件到本地临时文件夹内

type UFileCover

type UFileCover int8

UFileCover 枚举类型,文件是否覆盖

type UFileTree

type UFileTree uint8

UFileTree 枚举类型,文件树查找类型

type UFileType

type UFileType uint8

UFileType 枚举类型,文件类型

type UMd5

type UMd5 byte

func (*UMd5) Md5String

func (u *UMd5) Md5String(value string) string

md5 string.

type UPKCSType

type UPKCSType int8

UPKCSType 枚举类型,PKCS填充类型

type UPadType

type UPadType uint8

UPadType 枚举类型,字符串填充类型

type URandString

type URandString uint8

URandString 枚举类型,随机字符串类型

type URequest

type URequest byte

func (*URequest) Header

func (u *URequest) Header(req *http.Request, name string) (value string, has bool)

func (*URequest) HeaderDefault

func (u *URequest) HeaderDefault(req *http.Request, name string, defaultValue string) string

type USlice

type USlice byte

func (*USlice) DeDuplicate

func (u *USlice) DeDuplicate(sptr interface{})

切片去重. sptr: 切片指针.

func (*USlice) GetFirstDefault

func (u *USlice) GetFirstDefault(sptr interface{}, defau ...interface{}) interface{}

获取sptr的第一个值, 若sptr为空, 则取defau.

func (*USlice) In

func (u *USlice) In(i interface{}, sptr interface{}) bool

元素i在切片sptr中是否存在. sptr: 切片或切片指针.

func (*USlice) Pos

func (u *USlice) Pos(ele interface{}, sptr interface{}, beg ...int) int

寻找特定元素在Slice中的位置,从左到右返回最先找到的位置. beg: 从slice的哪里开始找, 可以留空, 默认0. sptr: 切片或切片指针.

func (*USlice) Remove

func (u *USlice) Remove(sptr interface{}, ele interface{}) error

func (*USlice) RemoveAt

func (u *USlice) RemoveAt(sptr interface{}, idx int) error

删除Slice中特定位置i的元素. sptr: 切片指针.

func (*USlice) Reverse

func (u *USlice) Reverse(sptr interface{})

翻转切片. sptr: 切片指针.

type UTime

type UTime byte

func (*UTime) CheckDate

func (ut *UTime) CheckDate(year, month, day int) bool

CheckDate 检查是否正常的日期.

func (*UTime) Date

func (ut *UTime) Date(format string, ts ...interface{}) string

Date 格式化时间. format 格式,如"Y-m-d H:i:s". ts为int/int64类型时间戳或time.Time类型.

func (*UTime) Day

func (ut *UTime) Day(t ...time.Time) int

Day 获取日份.

func (*UTime) DaysBetween

func (ut *UTime) DaysBetween(fromDate, toDate time.Time) int

DaysBetween 获取两个日期的间隔天数.

func (*UTime) EndOfDay

func (ut *UTime) EndOfDay(date time.Time) time.Time

EndOfDay 获取日期中当天的结束时间.

func (*UTime) EndOfMonth

func (ut *UTime) EndOfMonth(date time.Time) time.Time

EndOfMonth 获取日期中当月的结束时间.

func (*UTime) EndOfWeek

func (ut *UTime) EndOfWeek(date time.Time, weekStartDay ...time.Weekday) time.Time

EndOfWeek 获取日期中当周的结束时间; weekStartDay 周几作为周的第一天,本库默认周一.

func (*UTime) EndOfYear

func (ut *UTime) EndOfYear(date time.Time) time.Time

EndOfYear 获取日期中当年的结束时间.

func (*UTime) GetMonthDays

func (ut *UTime) GetMonthDays(month int, years ...int) (days int)

GetMonthDays 获取指定月份的天数.years年份,可选,默认当前年份.

func (*UTime) Hour

func (ut *UTime) Hour(t ...time.Time) int

Hour 获取小时.

func (*UTime) IsDate2time

func (ut *UTime) IsDate2time(str string) (bool, int64)

IsDate2time 检查字符串是否日期格式,并转换为时间戳.注意,时间戳可能为负数(小于1970年时). 匹配如:

0000
0000-00
0000/00
0000-00-00
0000/00/00
0000-00-00 00
0000/00/00 00
0000-00-00 00:00
0000/00/00 00:00
0000-00-00 00:00:00
0000/00/00 00:00:00

等日期格式.

func (*UTime) MicroTime

func (ut *UTime) MicroTime() int64

MicroTime 获取当前Unix时间戳(微秒).

func (*UTime) MilliTime

func (ut *UTime) MilliTime() int64

MilliTime 获取当前Unix时间戳(毫秒).

func (*UTime) Minute

func (ut *UTime) Minute(t ...time.Time) int

Minute 获取分钟.

func (*UTime) Month

func (ut *UTime) Month(t ...time.Time) int

Month 获取月份.

func (*UTime) Second

func (ut *UTime) Second(t ...time.Time) int

Second 获取秒数.

func (*UTime) ServiceStartime

func (ut *UTime) ServiceStartime() int64

ServiceStartime 获取当前服务启动时间戳,秒.

func (*UTime) ServiceUptime

func (ut *UTime) ServiceUptime() time.Duration

ServiceUptime 获取当前服务运行时间,纳秒int64.

func (*UTime) Sleep

func (ut *UTime) Sleep(t int64)

Sleep 延缓执行,秒.

func (*UTime) StartOfDay

func (ut *UTime) StartOfDay(date time.Time) time.Time

StartOfDay 获取日期中当天的开始时间.

func (*UTime) StartOfMonth

func (ut *UTime) StartOfMonth(date time.Time) time.Time

StartOfMonth 获取日期中当月的开始时间.

func (*UTime) StartOfWeek

func (ut *UTime) StartOfWeek(date time.Time, weekStartDay ...time.Weekday) time.Time

StartOfWeek 获取日期中当周的开始时间; weekStartDay 周几作为周的第一天,本库默认周一.

func (*UTime) StartOfYear

func (ut *UTime) StartOfYear(date time.Time) time.Time

StartOfYear 获取日期中当年的开始时间.

func (*UTime) Str2Timestamp

func (ut *UTime) Str2Timestamp(str string, format ...string) (int64, error)

Str2Timestamp 将字符串转换为时间戳,秒. str 为要转换的字符串; format 为该字符串的格式,默认为"2006-01-02 15:04:05" .

func (*UTime) Str2Timestruct

func (ut *UTime) Str2Timestruct(str string, format ...string) (time.Time, error)

Str2Timestruct 将字符串转换为时间结构. str 为要转换的字符串; format 为该字符串的格式,默认为"2006-01-02 15:04:05" .

func (*UTime) UnixTime

func (ut *UTime) UnixTime() int64

UnixTime 获取当前Unix时间戳(秒).

func (*UTime) Usleep

func (ut *UTime) Usleep(t int64)

Usleep 以指定的微秒数延迟执行.

func (*UTime) Year

func (ut *UTime) Year(t ...time.Time) int

Year 获取年份.

type UUUID

type UUUID byte

func (*UUUID) GenUUID

func (u *UUUID) GenUUID() string

GenUUID 生成唯一id

func (*UUUID) GenUUIDWithFileName

func (u *UUUID) GenUUIDWithFileName(name string) string

type UXlsx added in v0.0.6

type UXlsx byte

func (*UXlsx) ReadXlsx added in v0.0.6

func (u *UXlsx) ReadXlsx(ctx context.Context, fileReader multipart.File, input map[string]interface{}) ([]string, error)

*

  • @name: 读取xlsx文件 跳过指定行
  • @return {*}

Jump to

Keyboard shortcuts

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