时间,日期格式化以及 格式化时间戳
2016-04-01 10:46
375 查看
// 格式化日期方法
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+)/.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;
}
//按约定格式化日期
Wsw.utils.formatDateTime = function(d, format) {
d = d.replace("-", "/").replace("-", "/");
var dd = new Date(d);
return dd.format(format);
}
//人性话时间设置--(刚刚,1分钟前,1小时前等)
Wsw.utils.diffDateTime = function(dateStr) {
dateTimeStamp = Date.parse(dateStr.replace(/-/gi, "/"));
//JavaScript函数:
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var year = month * 12;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) {
//若日期不符则弹出窗口告之
//alert("结束日期不能小于开始日期!");
}
var yearC = diffValue / year;
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (yearC >= 1) {
// result = parseInt(yearC) + "年前";
result = Wsw.utils.formatDateTime(dateStr, 'yyyy年MM月dd日');
} else if (monthC >= 1) {
// result = parseInt(monthC) + "月前";
result = Wsw.utils.formatDateTime(dateStr, 'MM月dd日');
} else if (weekC >= 1) {
// result = parseInt(weekC) + "周前";
result = Wsw.utils.formatDateTime(dateStr, 'MM月dd日');
} else if (dayC >= 1) {
// result = parseInt(dayC) + "天前";
result = Wsw.utils.formatDateTime(dateStr, 'MM月dd日');
} else if (hourC >= 1) {
// result = parseInt(hourC) + "小时前";
result = Wsw.utils.formatDateTime(dateStr, 'hh:mm:ss');
} else if (minC >= 1) {
result = parseInt(minC) + "分钟前";
} else
result = "刚刚";
return result;
}
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+)/.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;
}
//按约定格式化日期
Wsw.utils.formatDateTime = function(d, format) {
d = d.replace("-", "/").replace("-", "/");
var dd = new Date(d);
return dd.format(format);
}
//人性话时间设置--(刚刚,1分钟前,1小时前等)
Wsw.utils.diffDateTime = function(dateStr) {
dateTimeStamp = Date.parse(dateStr.replace(/-/gi, "/"));
//JavaScript函数:
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var year = month * 12;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) {
//若日期不符则弹出窗口告之
//alert("结束日期不能小于开始日期!");
}
var yearC = diffValue / year;
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (yearC >= 1) {
// result = parseInt(yearC) + "年前";
result = Wsw.utils.formatDateTime(dateStr, 'yyyy年MM月dd日');
} else if (monthC >= 1) {
// result = parseInt(monthC) + "月前";
result = Wsw.utils.formatDateTime(dateStr, 'MM月dd日');
} else if (weekC >= 1) {
// result = parseInt(weekC) + "周前";
result = Wsw.utils.formatDateTime(dateStr, 'MM月dd日');
} else if (dayC >= 1) {
// result = parseInt(dayC) + "天前";
result = Wsw.utils.formatDateTime(dateStr, 'MM月dd日');
} else if (hourC >= 1) {
// result = parseInt(hourC) + "小时前";
result = Wsw.utils.formatDateTime(dateStr, 'hh:mm:ss');
} else if (minC >= 1) {
result = parseInt(minC) + "分钟前";
} else
result = "刚刚";
return result;
}
相关文章推荐
- ubuntu 14.04 截图工具
- 从键盘输入中文显示其国标码和Unicode码
- easyUI单元格合并自定义封装
- 新增控件汇总
- JSON.parse()和JSON.stringify()
- 对ByteArrayInputStream/ByteArrayOutputStream类的应用里的transform函数的复用
- 打印出字符串对应的Unicode编码和GB2312编码
- 移动端web app自适应布局探索与总结
- HttpApplication IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable ps url System.Web.dll
- tomcat jar包加载顺序
- linux下qt的安装
- HTTPS原理详解
- hdu4786Fibonacci Tree(最小生成树)
- Java23中设计模式一:单例模式
- 登录页面重定向后页面样式丢失
- 登录页面重定向后页面样式丢失
- Android总结 - System UI Mode
- 32位和64位系统区别
- 详解一道C++笔试题,考察重载、覆盖、多态
- 对PipedOutputStream/PipedInputStream类的应用