首页 > 技术文章 > js中Date对象

shun1015 2021-04-25 14:07 原文

Js获取当前日期时间及其它操作

var myDate = new Date();

myDate.getYear();        //获取当前年份(2位)

myDate.getFullYear();    //获取完整的年份(4位,1970-????)

myDate.getMonth();       //获取当前月份(0-11,0代表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( );        //获取日期与时间

 

js中new Date()接收的参数格式详解(Date对象带参数初始化)

js中new Date()接收的参数格式详解(Date对象带参数初始化)

1、用整数初始化日期对象

1 new Date(2017,06,06).toLocaleDateString(); // "2017/7/6"
2 new Date(2017,1,1).toLocaleDateString(); // "2017/2/1"
3 new Date(2017,1-2,01).toLocaleDateString(); // "2016/12/1"
4 new Date(2017,06,06,06,06,06).toLocaleString(); // "2017/7/6 上午6:06:06"

说明: new Date( year, month, date, hrs, min, sec) 按给定的参数创建一日期对象

 

2、用字符串初始化日期对象

1 new Date("2017/06/06").toLocaleDateString(); // "2017/6/6"
2 new Date("2017-07-07").toLocaleDateString(); // "2017/7/7"
3 new Date("2017-7-7").toLocaleDateString(); // "2017/8/8"


3、用毫秒时间戳初始化日期对象

1 var timestamp = new Date().getTime(); // 1566267029738
2 new Date(timestamp).toLocaleString(); // "2019/8/20 上午10:10:29"
3 new Date(timestamp - 1 * 60 * 60 * 1000).toLocaleString(); // "2019/8/20 上午9:10:29"


说明:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳唯一地标识某一刻的时间。

 

需要注意【坑】
在IE浏览器和iOS系统(苹果手机)中不支持横杠格式 "2011-06-06" ,需要转换为 "2011/06/06"

解决方案:进行字符串替换

var timeStr = "2011-06-06";
new Date(timeStr.replace(/\-/g,'/')).toLocaleDateString(); // "2011/6/6"

/-/g 为正则表达式,replace(/\-/g,'/') 表示全局替换 - 为 / 。

 

js 利用上述方法比较两个日期的大小

 1 function tab(date1,date2){
 2     var oDate1 = new Date(date1);
 3     var oDate2 = new Date(date2);
 4     if(oDate1.getTime() > oDate2.getTime()){
 5         console.log('第一个大');
 6     } else {
 7         console.log('第二个大');
 8     }
 9 }
10 tab('2015-10-10','2015-10-11');

 

推荐阅读