JS学习笔记——new Date()日期格式处理

在日常开发过程中,我们常常用到日期或者时间戳,所以我索性就把这个知识点汇总一下,写篇博客记录。

1、new Date() 参数格式

new Date() 的参数可以为整数,也可以为字符串,但格式必须正确

new Date()不传参数时,默认获取的是当前日期

new Date()
//Mon Dec 06 2021 21:32:28 GMT+0800 (中国标准时间)

new Date(1137075575000)
//Thu Jan 12 2006 22:19:35 GMT+0800 (中国标准时间)

常见的是拼接,正确

new Date(2009,1,1);           

//Sun Feb 01 2009 00:00:00 GMT+0800 (中国标准时间)
下面这几种也可以
new Date("January 12,2006 22:19:35"); 
 
new Date("January 12,2006"); 
 
new Date(2006,0,12,22,19,35); 
 
new Date(2006,0,12);

//Thu Jan 12 2006 22:19:35 GMT+0800 (中国标准时间)

其次/拼接,正确

new Date("2009/1/1");           

//Sun Feb 01 2009 00:00:00 GMT+0800 (中国标准时间)

-拼接,IE、fireFox错误,chrome正确

new Date("2009-1-1"); 

//Sun Feb 01 2009 00:00:00 GMT+0800 (中国标准时间)

2、new Date()对象常用API

var myDate = new Date();  
myDate.getYear();  //获取当前年份  

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(); //获取当前日期 (如:2021/4/13)
    
myDate.toLocaleTimeString(); //获取当前时间  (如:下午2:42:45)   

myDate.toLocaleString( ); //获取日期与时间   (如:2021/4/13下午2:43:23)   

3、获取当前时间戳

JavaScript 获取当前毫秒时间戳,常用的方法有以下三种方法:

方法一:

  • var timestamp = Date.parse(new Date())
  • 不推荐:毫秒改成了000显示
var timestamp = Date.parse(new Date())
 console.log(timestamp)

结果:1638794615000 

方法二:

  • var timestamp = (new Date()).valueOf()
  • 推荐
var timestamp = (new Date()).valueOf()
console.log(timestamp)

结果:1638795064841 

方法三:

  • var timestamp = new Date().getTime()
  • 推荐
var timestamp = new Date().getTime()
console.log(timestamp)

结果:1638795246397   

4、Date.parse()

Date.parse()方法析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数

如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN

const time = Date.parse('01 Jan 1970 00:00:00 GMT');
console.log(time);

//0
const time = Date.parse('04 Dec 1995 00:12:00 GMT');
console.log(time);

// 818035920000
var strTime="2021-04-16";   //字符串日期格式
             
console.log(strTime.replace(/-/g,  "/"));//2011/04/16                           
console.log(Date.parse(strTime.replace(/-/g,  "/")));//1302883200000              
console.log(new Date(Date.parse(strTime.replace(/-/g,  "/"))));//转换成Data(); Sat Apr 16 2011 00:00:00 GMT+0800 (中国标准时间)

本博客参考:

  • js日期初始化总结:new Date()参数设置

你可能感兴趣的:(JavaScript,javascript,firefox,开发语言)