// js 获取时间 获取的是本机的时间
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth();
var day = now.getDate();
var connect1 = "-";
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 0 && day <= 9) {
day = "0" + day;
}
console.log(year, month, day);
var currentdate = year + connect1 + month + connect1 + day;
console.log(currentdate);
function fun(time) {
var now = new Date().getTime();
// 下面两种转换格式都可以。
// var tmpTime = Date.parse(new Date(time.replace(/-/gi,"/")));
var tmpTime = Date.parse(time.replace(/-/gi, "/"));
console.log(now, time, tmpTime);
// 返回值
var result;
// 一分钟 1000 毫秒 乘以 60
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var week = day * 7;
var month = day * 30;
var year = day * 365;
// 现在时间 减去 传入时间 得到差距时间
var diffValue = now - tmpTime;
// 小于 0 直接返回
if (diffValue < 0) {
return;
}
console.log(diffValue);
// 计算 差距时间除以 指定时间段的毫秒数
var yearC = diffValue / year;
var monthC = diffValue / month;
var weekC = diffValue / week;
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
// 可以用 if...else if...
// if (yearC >= 1) {
// console.log("年前");
// } else if (monthC >= 1) {
// result = "" + parseInt(monthC) + "月前";
// } else if (weekC >= 1) {
// result = "" + parseInt(weekC) + "周前";
// } else if (dayC >= 1) {
// console.log(result);
// result = "" + parseInt(dayC) + "天前";
// } else if (hourC >= 1) {
// result = "" + parseInt(hourC) + "小时前";
// } else if (minC >= 1) {
// result = "" + parseInt(minC) + "分钟前";
// } else {
// result = "刚刚";
// }
// 也可以用 switch...case
// 利用 布尔值 true 进入判断
// 直接传数值进去做判断 结果不正确。
switch (true) {
case yearC >= 1:
console.log("switch 年");
// 如果大于一年就显示具体日期
result = fmtDate(tmpTime);
break;
case monthC >= 1:
console.log("switch 月");
result = "" + parseInt(monthC) + "月前";
break;
case weekC >= 1:
console.log("switch 周");
result = "" + parseInt(weekC) + "周前";
break;
case dayC >= 1:
console.log("switch 日");
result = "" + parseInt(dayC) + "天前";
break;
case hourC >= 1:
console.log("switch 天");
result = "" + parseInt(hourC) + "小时前";
break;
default:
console.log("其他");
}
return result;
}
// fun(currentdate);
var param = '2018-02-19'
var result = fun(param);
console.log(result);
// 转换 时间戳为 yyyy-mm-dd
function fmtDate(obj) {
var date = new Date(obj);
console.log("格式化时间戳", date);
var y = date.getFullYear();
console.log("y", y, date.getFullYear());
var m = "0" + (date.getMonth() + 1);
console.log("m", m, date.getMonth());
var d = "0" + date.getDate();
console.log("d", d, date.getDate());
// 参数二可以省略
console.log(m.substring(1));
// substring() 用于提取字符串中 介于 两个指定下标之间的字符。
return y + "-" + m.substring(m.length - 2, m.length) + "-" +
d.substring(d.length - 2, d.length);
}
// console.log(fmtDate(1545148800000));
parseInt 解析字符串为整数。
如果 string 以 1-9 数字开头,parseInt() 会解析成十进制整数。
网友评论