在代码中我们可以使用Format方法来进行日期的格式化,那么在template文件,比如tpl文件中如何格式化日期呢?本篇文章给大家提供相关实例

具体示例

例如结果体Post代码如下:

 type Post struct {
        Id        int
        Title     string
        CreatedOn time.Time
 }
    //数据库中存储的日期为 2015-04-04 20:51:48

那么,在页面template中可通过如下方式获取:

<span>{{ .CreatedOn }}</span>
<!-- 输出: 2015-04-04 20:51:48 +0000 +0000 -->

<span>{{ .CreatedOn.Format "2006 Jan 02" }}</span>
<!-- 输出: 2015 Apr 04 -->

<span>{{ .CreatedOn.Format "Jan 02, 2006" }}</span>
<!-- 输出: Apr 04, 2015 -->

<span>{{.CreatedOn.Format "Jan 02, 2006 15:04:05 UTC" }}</span>
<!-- 输出: Apr 04, 2015 20:51:48 UTC -->

注意事项

在使用此格式化的过程中需要注意的是Format后面所跟的常量字符串,必须是示例中的时间。具体的时间常量可以参考time包下format.go文件内定义的常量:

const (
    ANSIC       = "Mon Jan _2 15:04:05 2006"
    UnixDate    = "Mon Jan _2 15:04:05 MST 2006"
    RubyDate    = "Mon Jan 02 15:04:05 -0700 2006"
    RFC822      = "02 Jan 06 15:04 MST"
    RFC822Z     = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
    RFC850      = "Monday, 02-Jan-06 15:04:05 MST"
    RFC1123     = "Mon, 02 Jan 2006 15:04:05 MST"
    RFC1123Z    = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
    RFC3339     = "2006-01-02T15:04:05Z07:00"
    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
    Kitchen     = "3:04PM"
    // Handy time stamps.
    Stamp      = "Jan _2 15:04:05"
    StampMilli = "Jan _2 15:04:05.000"
    StampMicro = "Jan _2 15:04:05.000000"
    StampNano  = "Jan _2 15:04:05.000000000"
)


go语言模板(template)中日期格式化插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2018/03/10/go%e8%af%ad%e8%a8%80%e6%a8%a1%e6%9d%bf%ef%bc%88template%e4%b8%ad%e6%97%a5%e6%9c%9f%e6%a0%bc%e5%bc%8f%e5%8c%96/