小工具      在线工具  汉语词典  css  js  c++  java

go语言对时间的操作及解析

Go,golang 额外说明

收录于:152天前

  • time.TimeYYYY-MM-DD hh:mm:ss
import (
	"database/sql"
	"fmt"
	"time"
)

// FormatMysqlTime 格式化MysqlTime
func FormatMysqlTime(time time.Time) string {
    
	if time.IsZero() {
    
		return ""
	}
	msg := time.Format("2006-01-02 15:04:05")
	return msg
}
  • time.Time 转 sql.NullTime

func GenMysqlTime(t time.Time) sql.NullTime {
    
	return sql.NullTime{
    
		Time:  t,
		Valid: true,
	}
}

// 时间转换 string to time.Time
func GetTime(t string) time.Time {
    
	parseTime, _ := time.Parse("2006-01-02 15:04:05", t)
	return parseTime
}

  • 获取当天00:00:00日期
// 获取当天00:00:00日期
func GetNowZeroTime() string {
    
	zt, _ := time.ParseInLocation("2006-01-02", time.Now().Format("2006-01-02"), time.Local)
	return zt.Format("2006-01-02 15:04:05")
}

  • 获取前七天日期
// 获取前七天日期
func GetListSevenDays() []string {
    
	var times []string
	// 时区
	timeZone := time.FixedZone("CST", 8*3600) // 东八区
	// 前n天
	nowTime := time.Now().In(timeZone)

	for i := -7; i < 0; i++ {
    
		beforeTime := nowTime.AddDate(0, 0, i).Format("2006-01-02")
		times = append(times, beforeTime)
	}

	return times
}

  • 获取前一个月(自然月)日期
// 获取前一个月(自然月)日期
func GetListMonth() []string {
    
	var times []string
	// 时区
	timeZone := time.FixedZone("CST", 8*3600) // 东八区

	// 前n天
	nowTime := time.Now().In(timeZone)
	currentTime, _ := time.Parse("2006/01/02", time.Now().Format("2006/01/02"))
	startTime, _ := time.Parse("2006/01/02", nowTime.AddDate(0, -1, 0).Format("2006/01/02"))
	//天数
	dis := currentTime.Sub(startTime)
	loveDay := dis.Hours() / 24
	//添加日期
	for i := -int(loveDay); i < 0; i++ {
    
		beforeTime := nowTime.AddDate(0, 0, i).Format("2006-01-02")
		times = append(times, beforeTime)
	}
	return times
}
  • 获取前六月日期
// 获取前六月日期
func GetListSixMonth() []string {
    
	var times []string
	// 时区
	timeZone := time.FixedZone("CST", 8*3600) // 东八区
	// 前n天
	nowTime := time.Now().In(timeZone)

	for i := -6; i < 0; i++ {
    
		beforeTime := nowTime.AddDate(0, i, 0).Format("2006-01")
		times = append(times, beforeTime)
	}

	return times
}
  • 获取前一年日期
// 获取前一年日期
func GetListYear() []string {
    
	var times []string
	// 时区
	timeZone := time.FixedZone("CST", 8*3600) // 东八区
	// 前n天
	nowTime := time.Now().In(timeZone)

	for i := -12; i < 0; i++ {
    
		beforeTime := nowTime.AddDate(0, i, 0).Format("2006-01")
		times = append(times, beforeTime)
	}

	return times
}

  • 复杂时间字符串的转换
// 复杂时间字符串的转换
// `2023-09-20T00:00:00+08:00` 转 `2006-01-02 15:04:05` 格式
func ComplexStringToTime(str string) string {
    
	layout := "2006-01-02T15:04:05-07:00"
	// 解析输入的时间字符串
	t, err := time.Parse(layout, str)
	if err != nil {
    
		fmt.Println("解析错误:", err)
		return ""
	}
	formatted := t.Format("2006-01-02 15:04:05")
	return formatted
}

. . .

相关推荐

额外说明

intellid idea安装plantUML插件并解决错误

1、下载plantUML插件 plantuml4idea.zip http://pan.baidu.com/s/1hrNaRoo 2、intellid idea离线安装plantUML插件 file =》 settings =》 plugins =》 i

额外说明

蓝桥杯-实现用户登录功能

1.通过 jQuery中ajax 请求用户列表数据。 API 接口地址 用户列表 https://labfile.oss.aliyuncs.com/courses/4450/userlist.json 接口响应示例 { "userlist": [

额外说明

HNU-计算机系统-实验2-DataLab

写在前面 首先要感谢A橙_大佬,在之前的实验以及学习中,许多地方参考与学习了大佬的思路。 包括惊喜地发现,本次实验的验收助教居然就是A橙_大佬。……  虽然最后没用勇气去找大佬验收,换了另外一位助教验收嘿嘿…… 以及,这个datalab,真的很考验对于位

额外说明

Oracle常用语句汇总

用户和权限相关 默认只开启SYS和SYSTEM用户,其他都是锁定的 SQLPLUS / AS SYSDBA SQLPLUS SCOTT/HI SQL> start D:\app\sa\product\12.2.0\dbhome_1\rdbms\admi

额外说明

mongoose的增删改查操作

mongoose的增删改查操作 简述:     上篇博文我们简单介绍了mongoose,并熟悉了mongoose的使用流程以及相关的一些概念性的东西,那么这篇博文我们接着介绍使用Mongoose进行增删修查的操作。 案例采用的MongoDB文档结构:  

额外说明

[码海拾贝 之JS] JS 之删除数组中的元素

前言 在Java 中要从一个list 中删除一个元素, 直接使用 remove 方法就可以了。 在js 中的array 并没有 remove 方法, 但是在js 中array 有splice 方法可以达成相同的效果, 除此之外, 还可以使用其他方式来实现

额外说明

RN学习笔记01:概述、特点与环境搭建

RN学习笔记01:概述、特点与环境搭建 一、RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓

额外说明

CSS div 高度或宽度单向调整效果

前言 收到需求,如图所示,能单项的调整 div 高度或宽度。注意使用 Vue2.x 开发。 效果 实现 Html 代码7 和 11 都监听 mousedown 方法。 <template> <div class="index"> <div clas

额外说明

WordPress 5.3的新功能(功能和屏幕截图)

WordPress 5.3 预计将于 2019 年 11 月 12 日发布。这将是今年最后一个主要版本,并将带来一些重大改进。 WordPress 5.3预计将于2019年11月12日发布。这将是今年最后一个主要版本,并将进行一些重大改进。 我们一直在密

额外说明

instagram在中国_如何在WordPress侧边栏小部件中显示Instagram照片

Instagram 在中国 Instagram is a cool photo sharing app that allows you to apply digital filters to your pictures. A lot of people

ads via 小工具