1 基本使用方法
1.1 创建Date()对象
1.1.1 概念
概念: Date 对象用于处理日期与时间
(1) 创建对象的方法如下:
var d = new Date();
var d = new Date(milliseconds);//秒数
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
(2) 具体可以如下:
new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);
词条解释:
词条 | 描述 |
---|---|
month | 采用英文的月份表示,从January到December |
mth | 用整数来表示月份(从 0-11) |
dd | 表示日期 |
yyyy | 年份 |
hh | 时 |
mm | 分 |
ss | 秒 |
1.1.2 举例
//获取当下的日期
var date = new Date();
// 词条表示
var date = new Date('January 31,2022 23:59:59');
var date = new Date('January 31,2022');
var date = new Date(2022,0,31,23,59,59); //1月
var date = new Date(2022,0,31);
// 格式化
var date = new Date();
var newDate = dateFormat("YYYY-mm-dd", date );
1.2 常用Date对象方法
1.2.1 返回具体时间的字段
方法 | 描述 |
---|---|
getFullYear() | 返回年份 |
getMonth() | 返回月份(从 0-11) |
getDate() | 返回月中的第几天(从 1 到 31) |
getDay() | 返回星期几(0-6) |
getHours() | 返回小时(从 0-23) |
getMinutes() | 返回分钟(从 0-59) |
getSeconds() | 返回秒数(从 0-59) |
getTime() | 返回自 1970 年 1 月 1 日午夜以来与指定日期的毫秒数 |
1.2.2 举例
var date = new Date();
// 获取年月日
var year = date.getFullYear();
var month = date.getMonth() + 1; //月份需要 + 1
var day = date.getDate();
// 获取某年某月的总天数
function getDaysOfMonth(year, month) {
var date = new Date(year, month, 0);
var days = date.getDate();
// 等价于
// var days = new Date(year, month, 0).getDate()
return days;
}
// 日期加一天后的新日期
var date = new Date(start);
start.setDate(start.getDate() + 1);
1.3 Date日期格式和字符串的相互转化
1.3.1 将 Date 对象转换为字符串
语法 | 描述 |
---|---|
Date.toString() | 将 Date 对象转换为字符串 |
toDateString() | 把 Date 对象的日期部分转换为字符串 |
toTimeString() | 把 Date 对象的时间部分转换为字符串 |
举例:
var date = new Date();
date.toString(); // 'Sat Jan 29 2022 16:37:31 GMT+0800 (中国标准时间)'
date.toDateString(); // 'Sat Jan 29 2022'
date.toTimeString(); // '16:37:31 GMT+0800 (中国标准时间)'
1.3.2 进阶
语法 | 描述 |
---|---|
toISOString() | 使用 ISO 标准返回 Date 对象的字符串格式 |
toLocaleString() | 根据本地时间把 Date 对象转换为字符串 |
toLocaleTimeString() | 根据本地时间把 Date 对象的时间部分转换为字符串 |
toLocaleDateString() | 根据本地时间把 Date 对象的日期部分转换为字符串 |
举例:
var date=new Date();
date.toISOString(); // '2022-01-29T08:45:33.720Z'
date.toLocaleString(); // '2022/1/29 下午4:45:33'
date.toLocaleTimeString(); // '下午4:45:33'
date.toLocaleDateString(); // '2022/1/29'
温馨提示:获取某个需求时间可以将字符串截取。
1.3.3 将字符串转换为日期对象
语法:new Date(dateString)
举例:
// 根据日期
new Date(' 2022/1/31 '); // Mon Jan 31 2022 00:00:00 GMT+0800 (中国标准时间)
new Date(' 2022-1-31 '); // Mon Jan 31 2022 00:00:00 GMT+0800 (中国标准时间)
new Date(' 2022 1 31 '); // Mon Jan 31 2022 00:00:00 GMT+0800 (中国标准时间)
// 根据日期和时间
new Date(' 2022/01/31 23:59:59 ') // Mon Jan 31 2022 23:59:59 GMT+0800 (中国标准时间)
1.4 比较两个日期的大小
1.4.1 getTime()函数比较
1.定义:getTime()
方法返回从 1970 年 1 月 1 日午夜到指定日期之间的毫秒数。
2.语法:
Date.getTime()
3.参数:无参数
4.实例:
//注意:比较时间时先把字符串转换成日期对象
var previousDate = new Date('2022-1-31');
var laterDate = new Date('2022-2-1');
var previousTime = previousDate.getTime();
var laterTime = laterDate.getTime();
if( laterTime - previousTime > 0 ) {
console.log("后者时间比前者大!");
}
// 根据日期对象直接比较
var previousDate = new Date('2022-1-31');
var laterDate = new Date('2022-2-1');
//若 laterDate - previousDate >0 返回true,否则返回false
if( laterDate - previousDate > 0 ) {
console.log("后者时间比前者大!");
}
1.4.2 比较字符串
(1) 直接比较字符串大小
在 JavaScript 中,可以直接使用 >、<、== 来比较两个字符串的大小,就像比较两个数字一样。
var previousStr = '2022-1-31';
var laterStr = '2022-2-1';
//若 laterStr > previousStr 则返回true,否则返回false
if( laterStr > previousStr ) {
console.log("后者时间比前者大!");
}
(2) 使用 localeCompare() 方法
1.定义:用本地特定的顺序来比较两个字符串。
2.语法:
stringObject.localeCompare(target)
参数 | 描述 |
---|---|
target | 要以本地特定的顺序与 stringObject 进行比较的字符串 |
返回值: |
- stringObject 小于 target,返回小于 0 的数
- stringObject 大于 target,返回大于 0 的数
- 如果两个字符串相等,返回 0
2 bootstrap-datepicker日期控件
中文文档地址:
https://www.itxst.com/bootstrap-datepicker/tutorial.html
3 Javascript - 计时器
在
JavaScript
中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行
计时器的两种种类:
- 一次性计时器:仅在指定的延迟时间之后触发一次
- 间隔性触发计时器:每隔一定的时间间隔就触发一次
计时器的四种方法:
函数 | 含义 |
---|---|
setTimeout() | 指定的延迟时间之后来执行代码 |
clearTimeout() | 取消setTimeout() 设置 |
setInterval() | 每隔指定的时间执行代码 |
clearInterval() | 取消setInterval() 设置 |
3.1 一次性计时器 - setTimeout()
myVar= window.setTimeout("javascript function", milliseconds);
代码解析:
setTimeout() 方法会返回某个值,值被储存在名为 myVar 的变量中
举例:
<script>
window.onload = function(){
setTimeout(
function(){
alert("等待三秒,弹出警告框!");
},3000);
}
</script>
如何停止执行:
clearTimeout() 方法用于停止执行setTimeout()方法的函数代码
要使用clearTimeout() 方法, 你必须在创建超时方法中(setTimeout)使用全局变量
3.2 间接性出发定时器 - setInterval()
setInterval() 间隔指定的毫秒数不停地执行指定的代码
举例:
window.onload = function(){
setInterval(
function(){
alert("等待三秒,弹出警告框!");
},3000);
}
如何停止执行:
clearInterval() 方法用于停止 setInterval() 方法执行的函数代码