百度 | 神马 | 搜狗 | 技术文档 | 学习资料分享 - 记录帝国CMS及运维技术的点点滴滴
你的位置:首页 > 实用IT技术 » 正文

【SEO优化】JavaScript 时间戳格式化自定义样式

发布时间:2020-09-17

JavaScript 时间戳格式化自定义样式,

最近这周IT131在开始研究和开发,如果经常关注泪雪博客你一定不难发现IT131可是一个非常追求极致的开发者,前不久分享过“”的文章,这次在百度小程序上也想实现同样的显示方法,由于对 js 并不是特别熟悉,所以就需要好好折腾一番了。

JavaScript 对于时间的格式化并不是特别友好,不像 php 中直接使用 date 函数就能非常自由的格式化自己想要的样子,由于在小时为了便于数据的传输IT131选择的是,并且为了考虑小程序的加载速度,所以会设定缓存,从而就导致无法通过 php 实时反馈格式化好的时间样式,那么解决这个问题就需要通过 js 来动态时间显示几分钟前、昨天、前天等显示方式。

IT131也就不废话了,由于在网络上并没有找到符合IT131需求的 js 代码,故而就东拼西凑的就完成了以下的 js 时间格式化功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * JS 时间格式化
 * type 时间格式(yyyy-mm-dd hh:ii:ss / mm-dd / hh:ii / yyyy-mm)可自定义
 * date 毫秒时间戳(1554954127000)
 * 使用:timeFormat('yyyy-mm-dd hh:ii:ss',1554954127000)
 * 说明:紧支持毫秒级时间戳,传统秒级 Unix 时间戳需要乘以 1000 转换为毫秒
 */
function timeFormat(type,date){
	var date = new Date(date);
	var o = {   
		"m+" : date.getMonth()+1,	//月份   
		"d+" : date.getDate(),		//日   
		"h+" : date.getHours(),		//小时   
		"i+" : date.getMinutes(),	//分   
		"s+" : date.getSeconds(),	//秒   
	};   
	if(/(y+)/.test(type)){
		type=type.replace(RegExp.$1,(date.getFullYear()+"").substr(4-RegExp.$1.length)); 
	};    
	for(var k in o){
		if(new RegExp("("+ k +")").test(type)){
			type=type.replace(RegExp.$1,(RegExp.$1.length==1)?(o[k]):(("00"+ o[k]).substr((""+o[k]).length))); 
		}; 
	}
	return type; 
}

格式化的时间可以根据自己需求自定义搭配,根据自己的使用需求进行就好,至于 js 实现格式化时间显示刚刚、几分钟前、昨天、前天的功能IT131后面有时间在分享吧,近期IT131会主要研究百度智能小程序方面的开发和对网站优化相关的事情,感兴趣的我们可以一起讨论。

Top