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#中的日期格式结构体的更多相关文章

  1. 表单中的日期 字符串和Javabean中的日期类型的属性自动转换

    搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录. 在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支 ...

  2. MySQL中日期与字符串相互转换,并进行日期比较查询

    技术交流群:233513714 1.日期无需转换查询(日期在数据库中的类型为字符串) select * from day where dateTime > '2016-03-15' 2.使用da ...

  3. Java中Date()类 日期转字符串、字符串转日期的问题(已解决)

    Java中Date()类 日期转字符串.字符串转日期的问题 今天在写东西的时候突然发现一个问题,就是先new 一个Date()然后将生成的值转为字符串, 然后再将转换后的字符串再次用new Date( ...

  4. android JAVA字符串转日期或日期转字符串(转)

    用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的 ...

  5. JAVA字符串转日期或日期转字符串

    文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...

  6. java工具类(五)之日期格式字符串与日期实现互转

    JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import ...

  7. sql server中的日期详解使用(convert)

    转自:http://blog.csdn.net/hehe520347/article/details/48496853 有个字段值例如2012-07-02 00:00:00.000 转化成 2012- ...

  8. (转)Java字符串转日期或日期转字符串

    文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...

  9. JAVA字符串转日期或日期转字符串【转】

    JAVA字符串转日期或日期转字符串[转] 文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: S ...

随机推荐

  1. linux crontab命令 自动下载文件

    #crontab -e#download stock data, Mon-Fri, 9:15 - 11:30, 13:00 - 15:0015,30,40,50 9 * * 1-5 (cd /home ...

  2. POJ 2516 Minimum Cost (KM最优匹配)

    题意:有N家家店,每家店都对K种货物有需求:同时有M家仓库,对K钟货物有供应.对于每种货物,每个仓库送至每家店都有自己的单位费用.求满足所有店所有货物的最小费用 分析:对于每一种货物,如果总需求大于总 ...

  3. git指令整理汇总

    Git 1.git init 创建版本库,初始化 2.git add  向git添加文件,把文件添加到版本库 3.git log   告诉我们历史记录 4.git commit -m ‘’ 提交修改 ...

  4. 一个linux命令(6/12):cat 命令

    cat主要有三大功能:1.一次显示整个文件.$ cat filename2.从键盘创建一个文件.$ cat > filename     只能创建新文件,不能编辑已有文件.3.将几个文件合并为一 ...

  5. Nginx 静态缓存

    静态文件缓存 静态缓存在客户端下进行缓存,可以设置缓存文件类型与缓存时间,提升客户端访问站点速度. 主要对图片,css,js等元素更改机会比较少的情况下使用,特别是图片,占用带宽大,我们完全可以设置图 ...

  6. 如何用纯 CSS 创作一个小球上台阶的动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/PBGJwL 可交互视频 ...

  7. CA认证_demo

    CA认证,即电子认证服务 [1]  ,是指为电子签名相关各方提供真实性.可靠性验证的活动. 证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构.是负责发放和管理数字 ...

  8. Pandas IO工具

    Pandas I/O API是一套像pd.read_csv()一样返回Pandas对象的顶级读取器函数. 读取文本文件(或平面文件)的两个主要功能是read_csv()和read_table().它们 ...

  9. JNI_Z_08_创建Java对象

    1.步骤 : (1).获取 jclass (2).获取 构造函数的 method id (方法的名称始终为"<init>") (3).创建Java对象的两种方式: (3 ...

  10. 初试Orchard Core CMS

    关于Orchard Core CMS,这是一套内容管理系统(Content Management System),看一下来自官方文档的解释,什么是Orchard CMS. Orchard is a f ...