golang日期转字符串,仿照C#中的日期格式结构体
1、日期格式集合、日期转字符串方法
package util import (
"strings"
"time"
)
//日期格式:模仿java中的结构体
type DateStyle string const (
MM_DD = "MM-dd"
YYYYMM = "yyyyMM"
YYYY_MM = "yyyy-MM"
YYYY_MM_DD = "yyyy-MM-dd"
YYYYMMDD = "yyyyMMdd"
YYYYMMDDHHMMSS = "yyyyMMddHHmmss"
YYYYMMDDHHMM = "yyyyMMddHHmm"
YYYYMMDDHH = "yyyyMMddHH"
YYMMDDHHMM = "yyMMddHHmm"
MM_DD_HH_MM = "MM-dd HH:mm"
MM_DD_HH_MM_SS = "MM-dd HH:mm:ss"
YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"
YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"
YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd HH:mm:ss.SSS" MM_DD_EN = "MM/dd"
YYYY_MM_EN = "yyyy/MM"
YYYY_MM_DD_EN = "yyyy/MM/dd"
MM_DD_HH_MM_EN = "MM/dd HH:mm"
MM_DD_HH_MM_SS_EN = "MM/dd HH:mm:ss"
YYYY_MM_DD_HH_MM_EN = "yyyy/MM/dd HH:mm"
YYYY_MM_DD_HH_MM_SS_EN = "yyyy/MM/dd HH:mm:ss"
YYYY_MM_DD_HH_MM_SS_SSS_EN = "yyyy/MM/dd HH:mm:ss.SSS" MM_DD_CN = "MM月dd日"
YYYY_MM_CN = "yyyy年MM月"
YYYY_MM_DD_CN = "yyyy年MM月dd日"
MM_DD_HH_MM_CN = "MM月dd日 HH:mm"
MM_DD_HH_MM_SS_CN = "MM月dd日 HH:mm:ss"
YYYY_MM_DD_HH_MM_CN = "yyyy年MM月dd日 HH:mm"
YYYY_MM_DD_HH_MM_SS_CN = "yyyy年MM月dd日 HH:mm:ss" HH_MM = "HH:mm"
HH_MM_SS = "HH:mm:ss"
HH_MM_SS_MS = "HH:mm:ss.SSS"
) //日期转字符串
func FormatDate(date time.Time, dateStyle DateStyle) string {
layout := string(dateStyle)
layout = strings.Replace(layout, "yyyy", "2006", 1)
layout = strings.Replace(layout, "yy", "06", 1)
layout = strings.Replace(layout, "MM", "01", 1)
layout = strings.Replace(layout, "dd", "02", 1)
layout = strings.Replace(layout, "HH", "15", 1)
layout = strings.Replace(layout, "mm", "04", 1)
layout = strings.Replace(layout, "ss", "05", 1)
layout = strings.Replace(layout, "SSS", "000", -1) return date.Format(layout)
}
2、测试代码
package main import (
"fmt"
"time"
"util"
) func main() {
fmt.Println(util.FormatDate(time.Now(), util.HH_MM))
fmt.Println(util.FormatDate(time.Now(), util.HH_MM_SS))
fmt.Println(util.FormatDate(time.Now(), util.HH_MM_SS_MS))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_CN))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_EN))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_HH_MM))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_HH_MM_CN))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_HH_MM_EN))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_HH_MM_SS))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_HH_MM_SS_CN))
fmt.Println(util.FormatDate(time.Now(), util.MM_DD_HH_MM_SS_EN))
fmt.Println(util.FormatDate(time.Now(), util.YYMMDDHHMM))
fmt.Println(util.FormatDate(time.Now(), util.YYYYMM))
fmt.Println(util.FormatDate(time.Now(), util.YYYYMMDD))
fmt.Println(util.FormatDate(time.Now(), util.YYYYMMDDHH))
fmt.Println(util.FormatDate(time.Now(), util.YYYYMMDDHHMM))
fmt.Println(util.FormatDate(time.Now(), util.YYYYMMDDHHMMSS))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_CN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_CN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_EN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_CN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_EN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_SS))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_SS_CN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_SS_EN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_SS_SSS))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_DD_HH_MM_SS_SSS_EN))
fmt.Println(util.FormatDate(time.Now(), util.YYYY_MM_EN)) fmt.Println(util.FormatDate(time.Now(), "yyyy/MM/dd HH:mm:ss.SSSSSSSSS"))
fmt.Println(util.FormatDate(time.Now(), "2006 01 02 15:04:05.00000000"))
}
golang日期转字符串,仿照C#中的日期格式结构体的更多相关文章
- 表单中的日期 字符串和Javabean中的日期类型的属性自动转换
搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录. 在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支 ...
- MySQL中日期与字符串相互转换,并进行日期比较查询
技术交流群:233513714 1.日期无需转换查询(日期在数据库中的类型为字符串) select * from day where dateTime > '2016-03-15' 2.使用da ...
- Java中Date()类 日期转字符串、字符串转日期的问题(已解决)
Java中Date()类 日期转字符串.字符串转日期的问题 今天在写东西的时候突然发现一个问题,就是先new 一个Date()然后将生成的值转为字符串, 然后再将转换后的字符串再次用new Date( ...
- android JAVA字符串转日期或日期转字符串(转)
用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的 ...
- JAVA字符串转日期或日期转字符串
文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...
- java工具类(五)之日期格式字符串与日期实现互转
JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import ...
- sql server中的日期详解使用(convert)
转自:http://blog.csdn.net/hehe520347/article/details/48496853 有个字段值例如2012-07-02 00:00:00.000 转化成 2012- ...
- (转)Java字符串转日期或日期转字符串
文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...
- JAVA字符串转日期或日期转字符串【转】
JAVA字符串转日期或日期转字符串[转] 文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: S ...
随机推荐
- Java集合(9):ConcurrentHashMap
一.ConcurrentHashMap介绍 我们可以在单线程时使用HashMap提高效率,而多线程时用Hashtable来保证安全.但是,HashMap中未进行同步考虑,而Hashtable则使用了s ...
- Java分布式:JWT(JSON Web Tokens)
Java分布式:JWT(JSON Web Tokens) 0.优势 Session方式存储用户状态占用大量服务器内存.一般而言,大型应用还需要借助一些KV数据库和一系列缓存机制来实现Session的存 ...
- ddt运行报错AttributeError: type object 'TestLogin' has no attribute 'test_login'
源代码: #!usr/bin/python3 # -*- coding:utf-8 -*- # @Time: 2018/12/17 下午2:07 # @File: do_excel.py # @Sof ...
- Sybase:delete与truncate、drop区别
Sybase:delete与truncate.drop区别 区别: TRUNCATE TABLE TABLENAME:删除内容.释放空间但不删除定义. DELETE FROM TABLENAME:删除 ...
- jQuery垂直滑动切换焦点图
在线演示 本地下载
- Linux内核优化项
net.ipv4.ip_forward = #该文件内容为0,表示禁止数据包转发,1表示允许 net.ipv4.conf.default.rp_filter = #是否忽略arp请求 net.ipv4 ...
- BUG: scheduling while atomic 分析【转】
本文转载自:https://blog.csdn.net/cfy_phonex/article/details/12090943 遇到一个典型的schedule问题. <3>[26578 ...
- Linux系统中的screen命令基本使用教程
作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作. 也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些程序需要运行很长时间(几个小时) ...
- 《Maven实战》第14章 灵活的构建
面对不同环境的差异能够灵活的构建项目, 操作系统的差异 开发环境.测试环境.产品环境的差异(最常用) 不同客户的差异 Maven中灵活的构建:属性.资源过滤.profile 14.1Maven属性 6 ...
- 从零开始玩转logback
概述 LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手.(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的)下载地址:http://l ...