1 Star 0 Fork 0

lyc7751/我的公用工具

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
url.go 1.34 KB
一键复制 编辑 原始数据 按行查看 历史
lyc7751 提交于 2021-01-05 16:15 +08:00 . 初始化
package utils
import (
"fmt"
"os"
"path"
"strconv"
"time"
"strings"
)
// Str 字符处理类
type urls struct{}
// CurrTime 当前时间处理
func Url() *urls {
return &urls{}
}
// FileExists查询文件是否存在
func (u *urls) FileExists(filepath string) bool {
_, err := os.Stat(filepath)
return err == nil
}
// GetMonthZero 获取当前月份,不是2位的,则添加0
func (u *urls) GetMonthZero() string {
month := int(time.Now().Month())
return u.GetPlusZero(month)
}
// 生成随机时间的文件名
func(u *urls) GetTimeStr() string {
return strconv.FormatInt(time.Now().UnixNano(), 10)
}
// GetPlusZero不是2位的则添加0
func (u *urls) GetPlusZero(sum int) string {
if sum < 10 && sum > 0 {
return "0" + strconv.Itoa(sum)
}
return strconv.Itoa(sum)
}
// GetFilePath 获取新生成的文件路径
// 目录不存在时创建
func(u *urls) GetFilePath() (string, bool) {
tm := time.Now()
filepath := fmt.Sprintf("%s/%d/%s/%s/", "./upload", tm.Year(), u.GetMonthZero(), u.GetPlusZero(tm.Day()))
if strings.Contains(filepath, ".") {
// 这步会去掉最后的一个/,所以在返回时加上
filepath = path.Dir(filepath)
}
if _, err := os.Stat(filepath); os.IsNotExist(err) {
//不存在 创建
if err := os.MkdirAll(filepath, os.ModePerm); err != nil {
return "", false
}
}
return filepath + "/", true
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/lyc7751/utils.git
git@gitee.com:lyc7751/utils.git
lyc7751
utils
我的公用工具
v0.0.8

搜索帮助