Go项目实战—格式化日期函数 (易扩展方式)【goshop开源项目 | 20220428更新】

2023-05-16

goshop开源项目的更新

备注:前面项目中用到的代码已经分享到GitHub中去了,并且以后所有项目中会出现的代码都会提交上去,欢迎查阅。

地址 goshop 感兴趣的可以点个star哦~ goshop开源项目的更新

今天在考虑之前做的登录接口记录登录时间无法正常记录入库的问题:

  1. 不使用gorm.Model 中的UpdateAt的字段,单独拉一个LoginAt作为记录字段:类型就定为string

  2. 通过获取当前时间戳转换后的日期格式:2022-04-24T16:29:27+08:00 转换成 2022-04-24 16:29:27

  3. 封装到已扩展的time组件

接下来咱们就来实现以上的问题和功能:

  1. 先设置时区:咱们这边使用的是:Asia/Shanghai 时区

  2. 使用 time.LoadLocation() 加载时区,并返回 time.Time 类型,以便后面使用

  3. 使用 time.ParseInLocation() 进行格式化:有三个参数:要转化的格式,当前要转换的日期字符串,时区的time.Time类型指针(到了这一步只是把当前日期格式化成了时间戳字符

  4. 使用 time.Unix() 把第3步获取的时间戳字符转换成Time类型,然后使用 Format() 格式化 (这一步最关键,如果没有这一步你是转换不成对应格式的日期返回的

转换代码如下:
// 将指定格式的日期,转成 YYYY-MM-DD HH:ii:ss
func (t LocalTime) FormatDateString(MyDateString string) string {
	// 1. 设置时区
	// 2. time.LoadLocation() 返回time.Time 类型
	loc, _ := time.LoadLocation(timezone)
	// timeFormat = 2006-01-02 15:04:05  go的默认日期
	// 将日期字符串解析为Go的time对象第一个参数指定格式,第二个是日期字符串,转换成时间戳(秒)
	myDate, err := time.ParseInLocation(timeFormat, MyDateString, loc)
	if err != nil {
		return ""
	}
	// 获取时间戳
	// 1.把时间戳转使用time.Unix()转化为 time.Time 类型时间
	// 2.使用Format() 方法进行格式化
	DateString := time.Unix(myDate.Unix(), 0).Format(timeFormat)
	return DateString
}

走到这里就实现了 日期格式转成指定格式的函数封装和使用~~~

更多功能请持续关注!!!!!

欢迎各位加我的微信(jobhandsome)跟我一起完成并推动项目的发展!

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go项目实战—格式化日期函数 (易扩展方式)【goshop开源项目 | 20220428更新】 的相关文章

  • 最小生成树之Kruskal算法

    给定一个无向图 xff0c 如果它任意两个顶点都联通并且是一棵树 xff0c 那么我们就称之为生成树 Spanning Tree 如果是带权值的无向图 xff0c 那么权值之和最小的生成树 xff0c 我们就称之为最小生成树 MST Min
  • xcode11解决:xcode multiple commands produce .../xxx/Assets.car

    最近在xcode 11上使用pod碰到一个问题 xff0c Assets car被生成多次 问题如下 xff1a Multiple commands produce 39 Users luowei Library Developer Xco
  • 算法 —— 冒泡排序

    冒泡排序 冒泡排序是比较两个相邻元素 xff0c 如果它们不符合预期的顺序就交换的一个排序过程 冒泡排序就像水中气泡上升到水面的运动一样 xff0c 数组的每个元素在每次迭代中都把当前迭中最大 或最小 的元素移动到最后 xff0c 因此被称
  • UICollectionView viewForSupplementaryElementOfKind 不调用

    发现UICollectionView 的 方法不调用 func collectionView collectionView UICollectionView viewForSupplementaryElementOfKind kind St
  • UICollectionViewCell 自动大小的两种常用方式

    方法一 xff1a 自动计算 override func viewDidLoad super viewDidLoad if let flowLayout 61 collectionView collectionViewLayout as U
  • UITableViewCell 图片自适应

    常见的一种方法是异步Completed时 xff0c 根据图片大小计算cell的高度并缓存到字典里后 xff0c 刷新tableView或indexPath 但这里介绍另一种更好的方式是使用约束处理 xff0c 对imageView的上下左
  • Swift编译死锁问题

    最近在Swift OC混编项目里遇到个奇怪的问题 xff0c 这样一行代码尽然引发了Swift编译过程死锁 xxSwiftModel salary 61 xxOCModel salary doubleValue 如果哪位大神知道根因 xff
  • 多线程及聊天室程序

    1 一个多线程程序 新建一个 win32 console application 取名 xff1a MultiThread 选空的工程 xff0c 并建立一个名为 MultiThread 的源文件编辑 xff1a include inclu
  • SQL Server 2008语句大全完整版

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 设置内存选项 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • Swift从相册选择图片,图文混排并且可以保存、上传数据

    博主最近突发奇想想做一个自己的日记本App xff0c 在过程中遇到了一些坑 xff0c 摸索了很久才做出一个简单的日记本功能 先来看看一下效果吧 xff1a 先来说说这次用到的一些东西吧 xff1a 1 UIImagePickerCont
  • 2022年ABC模块样题十套分享

    2022年ABC模块样题十套分享 样题分享传送门
  • C# WinForm基础

    1 WinForm基础 Form1 cs using System using System Collections Generic using System ComponentModel using System Data using S
  • 做独立开发的一些感想

    好久没在CSDN上写东西 xff0c 这次写点感想吧 想想自己独立开发也有好多年了 xff0c 从刚毕业做的在线销售系统 xff0c 再到spring boot做写的my finances xff0c 再后来转iOS做的万能输入法 我的浏览
  • Vue3之script-setup全面解析

    可能很多同学 xff08 包括我 xff09 刚上手 Vue 3 0 之后 xff0c 都会觉得开发过程似乎变得更繁琐了 xff0c Vue 官方团队当然不会无视群众的呼声 xff0c 如果你基于脚手架和 vue 文件开发 xff0c 那么
  • windows下hadoop的部署和使用

    本教程在windows10环境下安装配置hadoop 43 hbase 43 spark 一 下载压缩包 xff1a 1 JavaJDK xff0c 1 8以上 2 Hadoop2 8 3 xff0c 下载地址 xff1a http arc
  • VS2019 C++的跨平台开发——Cmake项目(二)

    这一篇主要补充Windows下WSL xff08 Linux 子系统 xff09 创建 以及在WSL和远程Linux系统下编译和调试CMake项目 Widnows下创建WSL 1 右键左下角的Windows图标 61 应用和功能 61 启用
  • Ubuntu 10.10 "无线网络已经禁用” “wiress is disabled” 解决方法

    今天高高兴兴用真机器装好了Ubuntu 10 10 想WIFI 结果显示 无线网络已经禁用 wiress is disabled 我晕 xff0c LiveCD 启动没有任何问题 上了baidu Google 查了很多办法 iwlist s
  • C++ 出现两个头文件相互包含的解决办法

    综合网络信息 xff1a 相互引用解决办法 1 A导入B头文件 xff0c B不导入A头文件 采用 extern 方式引用 2 前向声明加指针 声明各种类的头文件 Classes h 前向声明 class User 放到前面的类要用指针 c
  • 双系统安装 ubuntu 22.04 + win11(yoga 14s 2021)

    考虑到无法完全转向 windows xff0c 于是选择双系统安装 ubuntu 文章安装过程主要参考 Ref 1 xff0c 具体细节会在文中体现 制作启动盘新建硬盘分区安装 ubuntu参考文献 制作启动盘 镜像下载 参考 Ubuntu
  • windows curl 之 invalid character ‘\‘‘ looking for beginning of value

    在windows环境下 xff0c 使用Windows Terminal执行 curl H 34 Content Type application json 34 X POST d 39 34 value 34 34 captcha 61

随机推荐

  • 多List集合总结 交集 并集 差集 去重复并集

    我们经常会遇到一些需求求集合的交集 差集 并集 例如下面两个集合 List lt String gt list1 61 new ArrayList lt String gt list1 add 34 A 34 list1 add 34 B
  • Swift4.0 Codable踩坑之派生类数据的保存

    本以为之前使用Codable的过程中踩的坑已经够多了 xff0c 今天博主有遇到一个坑 xff0c 调了一个下午才解决 xff0c 问题不大 xff0c 但是中文的技术文里都很少涉及这个问题 问题描述 xff1a 遵循了Codable协议的
  • Debian时间同步

    前言 一般做服务器集群的时候 xff0c 需要保证系统时间的同步了 xff0c 而在Linux上有一个工具可以很方便的进行同步 xff0c 那就是ntpdate 安装 安装很简单 xff0c 输入以下命令即可 xff1a span clas
  • Object-c学习笔记十八-----NSPredicate

    Cocoa提供了一个类NSPredicate类 xff0c 该类主要用于指定过滤器的条件 xff0c 该对象可以准确的描述所需条件 xff0c 对每个对象通过谓词进行筛选 xff0c 判断是否与条件相匹配 谓词表示计算真值或假值的函数 NS
  • Git切换回某个commit

    原由 commit之后忘了push xff0c 然后就revert HEAD了 xff0c 导致本地的代码丢失了刚修改的内容 第一步 git log 使用该命令查看commit记录 格式commit commit id xff0c 比如co
  • redhat/CentOS6/7/8离线安装依赖包pcre-devel zlib zlib-devel openssl openssl-devel gcc gcc-c++等编译包

    redhat和centos安装是一样 xff0c 这里已centos7为示例 能够上网 xff0c centos yum y install gcc 就可以安装了 如果依赖其他源 yum install epel release y 就可以
  • Java如何从HttpServletRequest中读取HTTP请求的body

    https www cnblogs com zhang cb p 6073781 html
  • 信息学奥赛一本通(1049:晶晶赴约会)

    1049 xff1a 晶晶赴约会 时间限制 1000 ms 内存限制 65536 KB 提交数 59748 通过数 38967 题目描述 晶晶的朋友贝贝约晶晶下周一起去看展览 xff0c 但晶晶每周的1 3 5有课必须上课 xff0c 请帮
  • Linux下汉字编码的转换(gbk转换为utf8)

    因为项目的需要linux下将GBK编码转换为utf8编码 xff0c google一下 xff0c 网上的相关资源比较少 xff0c 下面的操作经过本人的反复试验 本例子同样适用于其他的编码转换 有gbk到utf8的转换过程 xff0c 需
  • Redhat8.0 ansible的常用模块以及实战演示。

    Ansible是最新出现的开源自动化运维工具也可以说是一种语言 xff0c 由于它的强大易懂无代理等无数个优点 xff0c 让Ansible迅速在运维界备受关注 总之理解为它很牛逼就对了 xff01 如果你将Ansible当成一个语言或许会
  • xshell 连接Ubuntu 没有ssh-agent

    eval 96 ssh agent 96
  • 详解Mybatis-Plus中分页插件PaginationInterceptor, MybatisPlusInterceptor在SpringBoot中的使用

    文章目录 1 描述1 1 MybatisPlusInterceptor1 2 InnerInterceptor 2 实现2 1 不带条件的分页查询2 2 带条件的分页查询2 3 简述Page类 3 注意事项3 1 Uncategorized
  • (作业)UIScrollView

    好啦 xff0c 本次作业的最后一个题 xff0c 只需要实现UIScrollView的图片轮播和放大功能即可 这个实现起来也不麻烦 xff0c 要想实现轮播和缩放效果 xff0c 需要先让ViewController遵循UIScrollV
  • 全网详细解决git官网下载太慢的问题

    文章目录 1 文章引言2 解决git下载慢的方法3 文章总结 1 文章引言 我们在开发的过程中 xff0c 无可避免地要使用到git xff0c 来托管我们的代码 它是一个开源的分布式版本控制系统 xff0c 用于敏捷高效地处理任何或小或大
  • Python:pip 和pip3的区别

    前言 装完python3后发现库里面既有pip也有pip3 xff0c 不知道它们的区别 xff0c 因此特意去了解了一下 解释 先搜索了一下看到了如下的解释 xff0c 安装了python3之后 xff0c 库里面既会有pip3也会有pi
  • iOS开发系列--XIB开发

    在iPhone开发中 xff0c 一般都会用NIB文件来来负责界面显示 xff0c 也就是MVC模型里面的视图对象 xff0c 而NIB文件只包含用户界面元素 xff0c 不包含任何源码 xff0c 那么怎么让视图对象和视图控制器关联起来呢
  • iOS之estimatedHeightForRowAtIndexPath

    为了提高性能 xff0c UITableView在iOS7后引入了估算高度 xff0c 源码是这样解释的 xff1a Use the estimatedHeight methods to quickly calcuate guessed v
  • Mac访问windows共享文件夹

    一 打开 Finder 菜单 连接服务器 二 输入 xff1a smb IP地址或主机名 点击右边的 43 按钮 xff0c 可以把当前的服务器加入收藏 xff0c 这样下次就可以直接点击连接了 点击connect xff0c 弹出用户验证
  • 配置七牛云的自定义域名以及配置域名CNAME

    背景 xff1a 最近在使用七牛云的过程中发现一个问题 xff0c 七牛云的测试域名是有时效限制的且到期后重新申请会改变 xff0c 自己业务方生产和测试环境需要使用固定的域名来配置图片访问 xff0c 这时就需要绑定到自己的域名了 1 配
  • Go项目实战—格式化日期函数 (易扩展方式)【goshop开源项目 | 20220428更新】

    goshop开源项目的更新 备注 xff1a 前面项目中用到的代码已经分享到GitHub中去了 xff0c 并且以后所有项目中会出现的代码都会提交上去 xff0c 欢迎查阅 地址 goshop 感兴趣的可以点个star哦 goshop开源项