golang 时间工具类
用不习惯也嫌麻烦每次都去操作时间,然后就自己写了个时间工具类
package timeutilimport ("time"
)func New() *TimeUtil {return &TimeUtil{}
}// TimeUtil 是时间操作工具类
type TimeUtil struct{}// GetFormattedDate 获取格式化的日期字符串
func (tu *TimeUtil) GetFormattedDate(t time.Time) string {return t.Format("2006-01-02")
}// GetFormattedTime 获取格式化的时间字符串
func (tu *TimeUtil) GetFormattedTime(t time.Time) string {return t.Format("15:04:05")
}// GetFormattedDateTime 获取格式化的日期时间字符串
func (tu *TimeUtil) GetFormattedDateTime(t time.Time) string {return t.Format("2006-01-02 15:04:05")
}// GetWeekday 获取星期几
func (tu *TimeUtil) GetWeekday(t time.Time) string {return t.Weekday().String()
}// IsLeapYear 判断是否为闰年
func (tu *TimeUtil) IsLeapYear(year int) bool {return year%4 == 0 && (year%100 != 0 || year%400 == 0)
}// ParseDateFromString 将日期字符串解析为时间对象
func (tu *TimeUtil) ParseDateFromString(dateString string) (time.Time, error) {layout := "2006-01-02"t, err := time.Parse(layout, dateString)if err != nil {return time.Time{}, err}return t, nil
}// ParseTimeFromString 将时间字符串解析为时间对象
func (tu *TimeUtil) ParseTimeFromString(timeString string) (time.Time, error) {layout := "15:04:05"t, err := time.Parse(layout, timeString)if err != nil {return time.Time{}, err}return t, nil
}// ParseDateTimeFromString 将日期时间字符串解析为时间对象
func (tu *TimeUtil) ParseDateTimeFromString(dateTimeString string) (time.Time, error) {layout := "2006-01-02 15:04:05"t, err := time.Parse(layout, dateTimeString)if err != nil {return time.Time{}, err}return t, nil
}// FormatTimeString 将时间字符串转换为指定格式的日期时间字符串
/**
inputTime 表示输入的时间字符串 字符格式为:2006-01-02 15:04:05
format 表示要转换的日期时间格式 1、YYYY-MM-DD hh:mm:ss 2、YYYY-MM-DD 3、hh:mm:ss
*/
func (tu *TimeUtil) FormatTimeString(inputTime, format string) (string, error) {format = rule(format)layout := "2006-01-02 15:04:05"t, err := time.Parse(layout, inputTime)if err != nil {return "", err}formattedTime := t.Format(format)return formattedTime, nil
}// FormatTimeStringZ 将时间字符串转换为指定格式的日期时间字符串
/**
inputTime 表示输入的时间字符串 字符格式为:2023-07-29T15:30:00Z
format 表示要转换的日期时间格式 1、YYYY-MM-DD hh:mm:ss 2、YYYY-MM-DD 3、hh:mm:ss
*/
func (tu *TimeUtil) FormatTimeStringZ(inputTime, format string) (string, error) {format = rule(format)t, err := time.Parse(time.RFC3339, inputTime)if err != nil {return "", err}formattedTime := t.Format(format)return formattedTime, nil
}// rule 时间规则
func rule(format string) (str string) {if format == "1" {format = "2006-01-02 15:04:05"} else if format == "2" {format = "2006-01-02"} else if format == "3" {format = "15:04:05"}return format
}相关文章:
golang 时间工具类
用不习惯也嫌麻烦每次都去操作时间,然后就自己写了个时间工具类 package timeutilimport ("time" )func New() *TimeUtil {return &TimeUtil{} }// TimeUtil 是时间操作工具类 type TimeUtil struct{}// GetFormattedDate 获取格式化的日期字符串 fun…...
剑指 Offer 44.!! 数字序列中某一位的数字
参考资料 剑指 Offer 44. 数字序列中某一位的数字 中等 351 相关企业 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。…...
16K个大语言模型的进化树;81个在线可玩的AI游戏;AI提示工程的终极指南;音频Transformers课程 | ShowMeAI日报
👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 LLM 进化树升级版!清晰展示 15821 个大语言模型的关系 这张进化图来自于论文 「On the Origin of LLMs: An Evolutionary …...
Docker Compose 容器编排 + Docker--harbor私有仓库部署与管理
目录 一、Docker Compose简介 1、Docker Compose 的YAML 文件格式及编写注意事项 2、Docker compose 使用的三个步骤 3、 Docker Compose配置常用字段 4、 Docker Compose 常用命令 5、 Docker Compose 文件结构 二: Docker Compose 安装 1、Docker Compose…...
九五从零开始的运维之路(其二十六)
文章目录 前言一、概述1.什么是数据库2.数据库能干什么(一)企业应用(二)金融行业(三)电子商务(四)社交媒体(五)物联网 3.为什么要用数据库,优势、…...
29.Git版本控制工具
1.Git简介 Git是一开源的分布式版本控制系统,提供了存储代码、管理版本历史、分支和合并等功能。 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。它的主要目的是跟踪和记录软件开发过程…...
【算法题】2790. 长度递增组的最大数目
题目: 给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。 你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件: 每个组必须…...
Qt设置开机自启动无法读取配置文件
问题: Qt5.9.4再注册表中加入开机自启动后,每次开机可以启动,但是无法读取配置文件 解决方案 再main()方法中加入QDir::setCurrent(QCoreApplication::applicationDirPath());即可。 static void AutoRunWithSystem(bool bAutoRun) {// 获取…...
解决Font family [‘sans-serif’] not found问题
序言 以下测试环境都是在 anaconda3 虚拟环境下执行。 激活虚拟环境 conda activate test_python_env 或 source activate test_python_env工具: WinSCP Visual Studio Code 这里笔者使用 WinSCP 工具连接,编辑工具是 Visual Studio Code 一、字体…...
C语言进阶-2
1、多文件C语言项目 1.1、简单的C语言程序(项目) 只有一个C文件(a.c),编译的时候gcc a.c -o a,执行的时候./a 1.2、复杂的C语言程序(项目) 是由多个C文件构成的。例如一个项目中包含2个c文件(…...
Zabbix监控之分布式部署
文章目录 Zabbix监控之分布式部署zabbix proxy概述部署zabbix-proxy节点规划基础环境准备安装proxy以及数据库配置数据库添加服务端host解析修改zabbix-proxy配置文件启动代理服务器 zabbix页面(1)在zabbix页面添加代理(2)zabbix-agent连接proxy Zabbix监控之分布式部署 zabbi…...
vue2企业级项目(七)
vue2企业级项目(七) 组件封装 src目录下创建components/index.js const components require.context("./modules", true, /index\.js$/);export default {install: (Vue) > {components.keys().forEach((key) > {let component compo…...
PDPS教程:导出带颜色的JT格式2D布局图文件的另一种方法
目录 概述 布局图平面化与边缘化处理 导出为JT格式文件 JT格式文件查看 概述 在PDPS软件中导入机器人生产线或工作站2D布局图之前,要先将布局图文件转换为JT格式。 使用Crossmanager软件转换出来的2D布局图文件会将图形元素原有的颜色自动修改为黑白颜色&…...
AI面试官:Asp.Net 中使用Log4Net (二)
AI面试官:Asp.Net 中使用Log4Net (二) 当面试涉及到使用log4net日志记录框架的相关问题时,通常会聚焦在如何在.NET或.NET Core应用程序中集成和使用log4net。以下是一些关于log4net的面试题目,以及相应的解答、案例和代码: 文章目…...
C# Solidworks二次开发:向量相关的数学函数API的使用介绍
今天要讲的是Solidworks二次开发时候,如何使用一些与数学相关的API方法的介绍,在Solidworks中本身提供了一个函数用于对数学对象的访问,函数名为MathUtility。借助这个函数,我们来引出今天要介绍的几个API。 (1&#…...
table 导出表格 Excel
在请求中需要设置 responseType: blob export const requestExport (api, method, params {}, config) > {const apiToken localStorage.getItem(token);const data method GET ? params : data;let headers {BackServer-Token: ${apiToken},};if (config?.headers…...
基于 Flink SQL CDC 数据处理的终极武器
文章目录 一、传统的数据同步方案与 Flink SQL CDC 解决方案1.1 Flink SQL CDC 数据同步与原理解析1.2 基于日志的 CDC 方案介绍1.3 选择 Flink 作为 ETL 工具 二、 基于 Flink SQL CDC 的数据同步方案实践2.1 CDC Streaming ETL2.2 Flink-CDC实践之mysql案例 来源互联网多篇文…...
uniapp使用HQChart的k线,用webSocket更新数据
项目:不借用HQChart的各种接口数据,即数据后端返回,但是数据格式要和原数据格式一样。 //k线图 CreateHQChartKLine(){var chartHeightuni.upx2px(this.ChartHeight);let hqchartCtrlthis.$refs.HQChartCtrl;hqchartCtrl.KLine.Option.Type&…...
idea的Plugins中搜索不到插件
1、ctrlalts 打开设置 ; 2、搜索框输入plugins; 3、点击plugins; 4、点齿轮按钮,选择HTTP Proxy settings; 如下操作: 5、刷新DNS,ipconfig /flushdns 6、重新打开idea 的plugins 插件列表出来了...
flask 实现简单的登录系统demo
你提供的代码是一个基本的Flask应用程序,实现了一个简单的登录系统。以下是代码的详细解释: 1. 导入必要的模块:os 用于生成密钥,Flask 用于创建Web应用程序。 2. 创建Flask应用程序的实例,并为会话管理设置一个密钥。…...
KingbaseES V008R006C008B0014物理备份实战:sys_rman从配置到自动化的完整避坑指南
KingbaseES物理备份实战:从sys_rman配置到自动化运维的深度解析 凌晨三点,数据库告警铃声突然响起——某核心业务系统的KingbaseES实例因磁盘故障导致数据丢失。此时,一个配置得当的sys_rman物理备份系统将成为最后的救命稻草。不同于简单的操…...
TMSpeech:开源本地语音转文字工具的隐私革命
TMSpeech:开源本地语音转文字工具的隐私革命 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在数字化办公浪潮中,语音转文字工具已成为效率提升的关键助手,但云端处理的隐私泄露风…...
HarmonyOS6 半年磨一剑 - RcCheckbox 组件核心架构与类型系统设计
文章目录前言一、组件整体架构1.1 双组件协作设计1.2 文件结构1.3 装饰器分工二、类型系统深度解析2.1 值类型的宽泛设计2.2 选项配置接口2.3 形状与尺寸类型三、核心参数体系3.1 RcCheckbox 参数全览3.2 RcCheckboxGroup 扩展参数四、内部状态设计4.1 受控模式的双状态机制4.2…...
FGA智能自动战斗全攻略:解放双手,高效玩转F/GO
FGA智能自动战斗全攻略:解放双手,高效玩转F/GO 【免费下载链接】FGA FGA - Fate/Grand Automata,一个为F/GO游戏设计的自动战斗应用程序,使用图像识别和自动化点击来辅助游戏,适合对游戏辅助开发和自动化脚本感兴趣的程…...
安装lsaac lab
在 Ubuntu 22.04 环境下,使用 Conda 管理 Isaac Lab 是最稳妥的方案,因为它可以完美隔离 Isaac Sim 所需的特定 Python 版本环境。以下是基于 Conda 的保姆级安装步骤:第一步:创建 Conda 环境Isaac Sim 4.x 需要 Python 3.10&…...
“芯”动每一秒:当骁龙的速度脉搏跳动在F1赛道
2026年F1中国大奖赛日前在上海国际赛车场落下帷幕。除了赛道上令人热血沸腾的争夺,本届赛事在商业与科技融合层面同样看点颇多,尤其是冠军车队梅赛德斯-AMG与其官方合作伙伴高通骁龙的深度联动,成为围场内外热议的焦点。当F1这项百年运动不断…...
如何让微信聊天记录永久留存?WeChatMsg为你打造个人数字档案馆
如何让微信聊天记录永久留存?WeChatMsg为你打造个人数字档案馆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...
【模糊PID主动悬架模型】 采用模糊PID控制的二自由度(1/4)主动悬架模型,可以自适应调整...
【模糊PID主动悬架模型】采用模糊PID控制的二自由度(1/4)主动悬架模型,可以自适应调整PID的参数,以悬架动挠度为控制目标,输入为C级随机路面激励,输出为车身垂向加速度、轮胎动载荷、悬架动挠度等平顺性评价…...
人工智能应用- 走向未来:06.人与人工智能
智能时代的到来已是不可逆转的趋势。我们不得不承认一个现实:在某些领域,人工智能已经超越了普通人的能力,而且这一趋势正在加速。那么,人与人工智能的关系未来将如何演变?是竞争,还是共存?人工…...
Goofys安全最佳实践:保护你的S3文件系统访问的终极指南
Goofys安全最佳实践:保护你的S3文件系统访问的终极指南 【免费下载链接】goofys a high-performance, POSIX-ish Amazon S3 file system written in Go 项目地址: https://gitcode.com/gh_mirrors/go/goofys 在当今云原生时代,安全访问云存储变得…...
