博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript - 时间函数
阅读量:6704 次
发布时间:2019-06-25

本文共 2122 字,大约阅读时间需要 7 分钟。

时间美化函数

/*1、< 60s, 显示为“刚刚”2、>= 1min && < 60 min, 显示与当前时间差“XX分钟前”3、>= 60min && < 1day, 显示与当前时间差“今天 XX:XX”4、>= 1day && < 1year, 显示日期“XX月XX日 XX:XX”5、>= 1year, 显示具体日期“XXXX年XX月XX日 XX:XX”*/function timeFormat(time) {    var date = new Date(time),        curDate = new Date(),        year = date.getFullYear(),        month = date.getMonth() + 1,        day = date.getDate(),        hour = date.getHours(),        minute = date.getMinutes(),        curYear = curDate.getFullYear(),        curHour = curDate.getHours(),        timeStr;    if (year < curYear) {        timeStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute;    } else {        var pastTime = curDate - date,            pastH = pastTime / 3600000;        if (pastH > curHour) {            timeStr = month + '月' + day + '日 ' + hour + ':' + minute;        } else if (pastH >= 1) {            timeStr = '今天 ' + hour + ':' + minute + '分';        } else {            var pastM = curDate.getMinutes() - minute;            if (pastM > 1) {                timeStr = pastM + '分钟前';            } else {                timeStr = '刚刚';            }        }    }    return timeStr;}

 时间转化函数

Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond }if(/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));}for(var k in o) { if(new RegExp("("+ k +")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));} } return format; }

//使用方法 

var now = new Date(); 
var nowStr = now.format("yyyy-MM-dd hh:mm:ss"); 
//使用方法2: 
var testDate = new Date(); 
var testStr = testDate.format("YYYY年MM月dd日hh小时mm分ss秒"); 
alert(testStr); 
//示例: 
alert(new Date().format("yyyy年MM月dd日")); 
alert(new Date().format("MM/dd/yyyy")); 
alert(new Date().format("yyyyMMdd")); 
alert(new Date().format("yyyy-MM-dd hh:mm:ss"));

转载地址:http://trflo.baihongyu.com/

你可能感兴趣的文章
操作系统实验报告三
查看>>
响应式布局的常用解决方案对比(媒体查询、百分比、rem和vw/vh)
查看>>
生活中的适配器模式——身高不够鞋来凑
查看>>
Veritas推出系统性集成解决方案 帮助全球企业从容应对GDPR条例
查看>>
Java面试----2018最全Redis面试题整理
查看>>
镁客网M-TECH AI助力中国智造产业论坛即将开启,这些大咖在深圳等你
查看>>
专业调酒机器人Foxtender问世
查看>>
Ubuntu 19.04(Disco Dingo)将采用 Linux 5.0 内核
查看>>
ecshop中$user对象
查看>>
一个简单的Julia教程
查看>>
Jenkins连接TFS出现错误:“jenkins com.microsoft.tfs.core.exceptions.TECoreException”的问题收集...
查看>>
Java中String字符串toString()、String.valueOf()、String强转、+ ""的区别
查看>>
vim --Filter commands
查看>>
C231n-SVM-assignment1-完全代码及注释
查看>>
KMP(Knuth-Morris-Pratt)算法
查看>>
阿里云 java程序 链接redis 报错 : IO Error: Connection reset
查看>>
业界 | 如果技术从业者上岗前也要宣誓,一份给程序员的希波克拉底誓言
查看>>
Go语言学习笔记(一)Let&#39;s 干吧
查看>>
MySQL备份脚本
查看>>
Android开发之旅:环境搭建及HelloWorld
查看>>