Golang - template模板中格式化日期

2021-01-07 linux運維菜

在Go語言渲染html頁面的時候,經常需要對日期進行格式化,一種可以在渲染之前,就將變量轉換成對應的字符串;另一種根據template的語法在渲染模板的時候進行格式化。

語法:

{{ .<vaiable>.Format <layout>}}

變量後面加Format 格式

layout格式跟time包裡面的定義是一樣的:

月份 1,01,Jan,January

日 2,02,_2

時 3,03,15,PM,pm,AM,am

分 4,04

秒 5,05

年 06,2006

時區 -07,-0700,Z0700,Z07:00,-07:00,MST

周幾 Mon,Monday

比如小時的表示(原定義是下午3時,也就是15時)

3 用12小時制表示,去掉前導0

03 用12小時制表示,保留前導0

15 用24小時制表示,保留前導0

03pm 用24小時制am/pm表示上下午表示,保留前導0

3pm 用24小時制am/pm表示上下午表示,去掉前導0

又比如月份

1 數字表示月份,去掉前導0

01 數字表示月份,保留前導0

Jan 縮寫單詞表示月份

January 全單詞表示月份

例子:

type Log struct{

ID int

Info string

CreateAt time.Time

}

在html裡面調用

默認格式:

<span>{{ .CreateAt }}</span>

格式化:

<span> {{ .CreateAt.Format "2006-01-02 15:04:05" }} </span>

相關焦點

  • Go 語言應用之 template
    在前天的直播中,華仔說自己在阿里是從 P5 一直晉升到 P9,並且每次都是一遍過。在晉升完全靠跳槽的今天顯得多麼不可思議。(template.ParseGlob(tFile)) t.Execute(os.Stdout, Entries)}上面的程序非常簡短:首先引入了 text/template 包;接著定義了 Entry 結構體,它包含兩個欄位 Number 和 Square,這正好對應模板文件中的要輸出的兩個欄位;接著是 main
  • 格式化並非最終需求,如何更好地使用模板,Python字符串模板應用
    如何更精準假設我們上面格式化的字符串,要在程序中的多個位置使用。此時,我們不可能每次用到上面這串格式化的內容時,都在程序中添加一大串的格式化輸出代碼。再者,上面的ID、name、age、home_addr、final_score屬性對應我們格式化字符串中的學號、姓名、年齡、地址、成績,每次輸出改變的是這些屬性的值,如果有一個數據結構(類似)能夠像工廠中流水線生產產品一樣,只要我們送入原材料(值),它就像機器一樣按照指定數量一個個將產品給我們輸出出來,這樣豈不是更好?
  • java日期和時間的格式化
    在編寫程序時,經常需要對日期進行格式化輸出。使用String類的format方法可以實現對日期和時間的格式化輸出。日期的格式化輸出Java提供了日期格式化轉換符用於支持日期的格式化輸出,格式化轉換符如下表所示: 案例1:使用API庫的Date類獲取當前日期和時間信息,並用format()方法將日期格式化為
  • 史上最快的字符串格式化庫{fmt}及std::format
    在很多場合,字符串格式化的性能越高越好,比如說伺服器的日誌模塊,每秒鐘要打大量的日誌,性能提高一點點就有很明顯的效果。之前在這塊我也是一直用vsnprintf。我曾經見人用boost::format翻了車。boost::format是C++眾多字符串格式化的庫中非常非常慢的一個。所以不要被boost的名頭騙了。
  • java中使用 SimpleDateFormat 格式化日期
    Hi,大家好久不見,今天我們在這裡給大家介紹一下關於Java的小知識,在Java中我們應該如何使用 SimpleDateFormat 格式化日期並顯示,至於運用呢就不和大家做詳細介紹了;接下來就給大家詳細介紹一下如何實現。那我們該如何創建使用呢?
  • SpringBoot 全局日期格式化(基於註解)
    Cat哥領讀:json數據中的時間格式化一直都是程式設計師頭疼的問題,這裡看作者怎麼使用 @JsonComponent來處理日期。
  • C++之函數模板的概念和意義
    一、函數模板的引出:1、c++中有幾種交換變量的方法:(1)定義宏代碼塊(2)定義函數代碼版本一:#include <iostream>#include <string>using namespace
  • 不一樣的 SQL Server 日期格式化
    不一樣的 SQL Server 日期格式化
  • C#日期格式化的幾種處理方法 - 51CTO.COM
    C#日期格式化的幾種處理方法 本文將介紹幾種C#日期格式化的處理方法,包括綁定時格式化日期方法、用String類轉換日期顯示格式、用Convert方法轉換日期顯示格式等等 作者:webfly
  • python格式化字符串研究
    Python3裡的格式化字符串python3中的格式化字符串主要有以下兩種形式:"test %s" % ('test')"test {0}".format('test')這兩個語句的輸出都是test test。
  • Python 模板庫 Mako 的用法
    如果模板中的代碼要定位其他模板資源,需要某種使用URI來找到它們的方法。這種需求是由 TemplateLookup 類來達到的。,它從/docs目錄中查找模板,並把所有的模塊文件存儲到/tmp/mako_modules目錄中。
  • GKTemplate v0.0.6,Go 開發的 DedeCMS 模板解析器
    v0.0.6GKTemplate是一個Go語言開發的模板引擎,由於Go語言內置的模板引擎自由度過高,導致開發使用相對比較困難,對界面模板製作要求會比較高,GKTemplate是一款基於標籤
  • 深入理解 Vue 模板渲染:Vue 模板反編譯
    vue 文件的構成熟悉 vue 的同學應該都知道,vue 單文件模板中一般含有三個部分,template,script,style。但是在編譯後的 js 文件中,我們卻沒法在代碼中直接找到這三部分,如果我們想從編譯後的 js 中獲取原始模板,應該怎麼做?
  • 前端js模板引擎,快速地動態拼接html代碼
    要是像php模板引擎一樣,直接把變量塞進html代碼裡面,不但不用糾結引號是否匹配、成對標籤是否缺失閉標籤,而且格式化,那多好嗯,這個可以有。php有模板引擎,咱js也有,不但有,還百家爭鳴。本猿機緣巧合之下,遇見了art-template.js。先看一眼官方文檔。
  • 聽說你還在用SimpleDateFormat格式化日期
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Date stationTime = dateFormat.parse(dateFormat.format(svcWorkOrderPo.getPayEndTime()));orderDailyStatisticsPo.setStatisticalDate(stationTime);而且項目中的時間和日期
  • Python 字符串格式化方法
    一種常用字符串格式化的方法,就是調用format()>>> template='{0},{1} and {2}' >>> template.format ('a','b','c') 'a,b and c' >>> template='{name1},{name2
  • Angular10教程--2.6 NgTemplateOutlet指令
    -- 使用ngTemplateOutlet綁定模板 --> <ng-container [ngTemplateOutlet]="defaultTpl"></ng-container> </div></div><ng-template #defaultTpl> <p>組件默認內容</p></ng-template
  • 用 Python 的 Template 類生成文件報告
    2、它是輕量級的,當然諸如Jinja2和Mako之類的模板引擎已被廣泛使用。但是,在本文介紹的方案中,這些功能是過分地誇大了。3、關注點分離:可以使用模板文件將其移動到外部位置,而不是直接在代碼中嵌入字符串操作和報告生成。如果您要更改報告的結構或設計,則可以交換模板文件,而無需更改代碼。由於這些優點,一些知名的第三方庫和工具正在使用它。
  • golang每日一題(fmt.Sprintf)
    format string, a ...interface{}) string { p := newPrinter() p.doPrintf(format, a) s := string(p.buf) p.free() return s}可以看到Sprintf方法輸入參數是代表格式的字符串和接口類型,返回string類型的數據,首先先在newPrinter()中初始化一個