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 获取request参数集
request里有两个方法 request.getParameterMap(); request.getParameterNames(); 我想用这两种方法获取. 1.用request.getPara ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会 F - Color it (扫描线)
题意:一个N*M的矩形,每个点初始都是白色的,有Q次操作,每次操作将以(x,y)为圆心,r为半径的区域涂成黑点.求最后剩余白色点数. 分析:对每行,将Q次操作在该行的涂色视作一段区间,那么该行最后的白 ...
- systemverilog中module与program的区别
我们知道,verilog语法标准中是没有program的,program是systemverilog语法标准新增的内容. 那么,为什么要新增一个program呢?主要考量是基于电路的竞争与冒险. 为避 ...
- Grid 行和列
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <Co ...
- MarkDown初学者使用指南
换MarkDown编辑器了,突然发现自己不会,尴尬!所以顺便总结下Markdown的常用语法 标题 一级标题(格式:#+XXXXX) 二级标题(格式:##+XXXXXX) 三级标题(格式:###+XX ...
- session/token/cookie/socket区别
Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象 ...
- Linux下解压分包文件zip(zip/z01/z02)【转】
本文转载自:https://www.cnblogs.com/EasonJim/p/7227109.html?utm_source=itdadao&utm_medium=referral Lin ...
- 获取微信公众号用户的基本信息(UnionID机制)
获取用户基本信息(UnionID机制) 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的open ...
- idea软件编码已经设置好了为utf-8,但是svn中down下来的文件格式本身不是utf-8的,此时打开后会出现中文乱码解决方法
我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都是乱码.问过项目负责人,说可能是GBK编码. 但是,我通过idea的setting设置 ...
- Merge-Sort(归并排序)
Merge-Sort(归并排序) 思想 利用分治的思想,具体实现也就是递归,不断的将问题话分为更小的子问题,当子问题中规模为1的时候,认为数组已经有序了,然后再将子问题求得的结果不断的合并.也就是将长 ...