封装一个自定义格式化时间处理工具类并且在页面中调用
工作重有一个需求,需要将一个中国标准时间处理成 2018-05-01 00:00:00这种格式,刚好就封装了一个工具类,以便以后使用,具体分为以下两步
1、时间格式化方法
思路是将当前的时间分别转换成年月日时分秒再拼接起来,过程中遇到的问题,下面展示代码的时候会有解释
2、全局封装工具类
1、先建一个utils的工具类文件夹,然后在文件夹下创建一个js文件
2、JS文件中的代码如下
/**
* 中国标准时间处理成 2018-05-01 00:00:00 这种格式
* @param {中国标准时间} time
* @param {一状态 } state ture要时分秒 false不要时分秒
*/
var dateToTime = function(time, state) {
let date = new Date(time);
var Y = date.getFullYear() + ""; // 这里加上''是为了将number类型转换成string类型,方便timeAdd0()方法做判断
var M = date.getMonth() + 1 + "";
var D = date.getDate() + "";
var h = date.getHours() + "";
var m = date.getMinutes() + "";
var s = date.getSeconds() + "";
if (state) {
return (
Y +
"-" +
timeAdd0(M) +
"-" +
timeAdd0(D) +
" " +
timeAdd0(h) +
":" +
timeAdd0(m) +
":" +
timeAdd0(s)
);
} else {
return Y + "-" + timeAdd0(M) + "-" + timeAdd0(D);
}
// 三元表达式判断返回值
// return state
// ? Y + timeAdd0(M) + timeAdd0(D) + timeAdd0(h) + timeAdd0(m) + timeAdd0(s)
// : timeAdd0(Y) + timeAdd0(M) + timeAdd0(D);
function timeAdd0(str) {
if (str.length <= 1) {
str = "0" + str;
}
return str;
}
};
export default dateToTime;
1、一个JS文件中可以写多个方法
2、如果文件中直接export方法名,则在引入的时候,方法的名字需要加上{},如果是export则不需要
3、timeAdd0()方法是为了判断,月日等是否是一个数字,比如如果是2月的话,就在前面加上0,这样返回的结果就是2020-02-14,否则就是2020-2-14,不是需要的格式
4、文件的引入及使用:在需要调用的文件里引入
在方法中需要调用的地方
这样就完成了日期格式的转换