JavaScript - Date()日期对象 - 笔记

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中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行
 
计时器的两种种类:

  1. 一次性计时器:仅在指定的延迟时间之后触发一次
  2. 间隔性触发计时器:每隔一定的时间间隔就触发一次

计时器的四种方法:

函数含义
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() 方法执行的函数代码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值