原生JS
- 关于Date基础用法
var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月) // 所以获取当前月份是myDate.getMonth()+1;
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
- 计算指定两个时间之间的时间差
//计算时间差,输入为日期字符串
function GetDateDiff(startDate, endDate) {
var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime();
var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime();
//时间差的毫秒数
var date3 = endTime - startTime;
//计算出相差天数
var days = Math.floor(date3 / (24 * 3600 * 1000))
//计算出小时数
var leave1 = date3 % (24 * 3600 * 1000)
//计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000))
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000)
//计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000))
//计算相差秒数
var leave3 = leave2 % (60 * 1000)
//计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000)
var str = " 相差 " + days + "天 " + hours + "小时 " + minutes + "分钟 " + seconds + "秒";
return str;
}
- 时间戳转换为 普通日期格式
function formatDate(myTime) {
// 比如需要这样的格式 yyyy-MM-dd hh:mm:ss
var date = new Date(myTime);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
var str = (Y + M + D + h + m + s)
return str;
};
- 时间格式字符串转为时间戳(毫秒)
function dateToStamp(myTime) {
var date = new Date(myTime.replace(/-/g, '/')); //开始时间
var res = date.getTime();
return res;
}
- 显示当前时间
function getCurDate() {
var d = new Date();
var week;
switch (d.getDay()) {
case 1:
week = "星期一";
break;
case 2:
week = "星期二";
break;
case 3:
week = "星期三";
break;
case 4:
week = "星期四";
break;
case 5:
week = "星期五";
break;
case 6:
week = "星期六";
break;
default:
week = "星期天";
}
var years = d.getFullYear();
var month = add_zero(d.getMonth() + 1);
var days = add_zero(d.getDate());
var hours = add_zero(d.getHours());
var minutes = add_zero(d.getMinutes());
var seconds = add_zero(d.getSeconds());
var ndate = years + "年" + month + "月" + days + "日 " + hours + ":" + minutes + ":" + seconds + " " + week;
console.log(ndate);
}
function add_zero(temp) {
if (temp < 10) return "0" + temp;
else return temp;
}
setInterval("getCurDate()", 1000);
MomentJS库常用方法
- 使用方法
- nodeJS
npm install moment
var moment = require('moment');
moment().format();
2.浏览器
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script>
moment().format();
</script>
- 日期格式化
moment().format('MMMM Do YYYY, h:mm:ss a'); // 九月 3日 2015, 3:45:43 下午
moment().format('dddd'); // 星期四
moment().format("MMM Do YY"); // 9月 3日 15
moment().format('YYYY [escaped] YYYY'); // 2015 escaped 2015
moment().format();
- 相对时间
moment("20111031", "YYYYMMDD").fromNow(); // 4 年前
moment("20120620", "YYYYMMDD").fromNow(); // 3 年前
moment().startOf('day').fromNow(); // 16 小时前
moment().endOf('day').fromNow(); // 8 小时内
moment().startOf('hour').fromNow(); // 1 小时前
- 日历时间
moment().subtract(10, 'days').calendar(); // 2015年8月24日
moment().subtract(6, 'days').calendar(); // 上周五下午3点45
moment().subtract(3, 'days').calendar(); // 本周一下午3点45
moment().subtract(1, 'days').calendar(); // 昨天下午3点45分
moment().calendar(); // 今天下午3点45分
moment().add(1, 'days').calendar(); // 明天下午3点45分
moment().add(3, 'days').calendar(); // 本周日下午3点45
moment().add(10, 'days').calendar(); // 2015年9月13日
- 时间段
moment.duration(Number, String);
moment.duration(Number);
moment.duration(Object);
moment.duration(String);
moment.duration(100); // 100 milliseconds
moment.duration(2, 'seconds');
moment.duration(2, 'minutes');
moment.duration(2, 'hours');
moment.duration(2, 'days');
moment.duration(2, 'weeks');
moment.duration(2, 'months');
moment.duration(2, 'years');
- 时间比较
### [是否之前]
moment().isBefore(Moment|String|Number|Date|Array);
moment().isBefore(Moment|String|Number|Date|Array, String);
### [是否相同]
moment().isSame(Moment|String|Number|Date|Array);
moment().isSame(Moment|String|Number|Date|Array, String);
### [是否之后] 2.0.0+
moment().isAfter(Moment|String|Number|Date|Array);
moment().isAfter(Moment|String|Number|Date|Array, String);
### [是否之间]2.9.0+
moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
### where moment-like is Moment|String|Number|Date|Array
更多API:
http://momentjs.cn/