回给定毫秒数的可读格式
const formatDuration = ( ms ) => {
if(ms < 0) ms = -ms;
let time = {
day: Math.floor(ms / 86400000),
hour: Math.floor(ms / 3600000) % 24,
minute: Math.floor(ms / 60000) % 60
}
return Object.entries(time)
.filter(val => val[1] !== 0)
.map(([key, val])=>{
if(key === 'day') return `${val}天`
if(key === 'hour') return `${val}时`
if(key === 'minute') return `${val}分`
})
.join(' ');
}
let t1 = formatDuration(62341001);
console.log(t1);
let t2 = formatDuration(34325055574);
console.log(t2);
17时 19分
397天 6时 44分
代码实现参阅:formatDuration - 30 seconds of code
TML的pre标签
定义和用法
<pre> 标签定义预先格式化的文本。
<pre> 元素中的文本以等宽字体显示,文本保留空格和换行符。文本将完全按照 HTML 源代码中所写的方式显示。
使用(保留原有格式),和div区别
执行结果如下:
在layui中使用,未使用pre,结果如下:在一行显示,不太好看和理解
layer.alert(JSON.stringify(data,null,4));
使用pre标签后,结果如下:json格式化展示出来了,易于理解和好看,方便分析。
layer.alert("<pre>"+JSON.stringify(data,null,4)+"</pre>");
2024-2-26
Go语言渲染html页面的时候,经常需要对日期进行格式化,一种可以在渲染之前,就将变量转换成对应的字符串;另一种根据template的语法在渲染模板的时候进行格式化。
语法:
{{ .<vaiable>.Format <layout>}}
变量后面加Format 格式
月份 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>
*请认真填写需求信息,我们会在24小时内与您取得联系。