js高级程序设计(日期)

1.Date时间类型

Date时间类型可以通过构造函数Date实现对时间的操作,如:获取时间戳等。今天看了一下明白了起航转换为时间戳的一些原理,看下面。

javascript 复制代码
   var newDate = new Date();  //获取当前时间

下面看一下转换为毫秒数和之前使用的方法的不同,这里只是一些方法转换,我还是倾向于之前的方法转换,因为简便。

javascript 复制代码
    Date.parse(日期字符串)  //参数是一个日期字符串,是一个将日期字符串转换为毫秒数的方法,一般这个方法在后台调用,对用户是透明的。
    Date.UTC(年, 月, 日, 时, 分, 秒)   //它的参数将日期的年月日时分秒,分别转换为单个的参数,日期的月份的参数的基数是从0开始的,作用个上述的方法一样都是转换为日期的毫秒数。

我之前在进行转换时直接使用的就是将参数放在new Date()方法中,今天看到这,才知道日期转换的原理,原来是在后台调用的是Date.parse()和Date.UTC()方法。如下所示:

javascript 复制代码
     new Date(日期字符串) //将日期字符串转换为指定的日期
     new Date(年, 月, 日, 时, 分, 秒)  //将日期字符串转换为指定的日期

其实还有一种方法就是Date.now()这是获取的当前日期时间。

javascript 复制代码
     Date.now()  //将当前日期转换为毫秒数,可以用来计算时间差,或者比较两个时间

对了,Date.parse()和Date.UTC()方法的区别就是参数不同😆。

2.Date中的继承方法以及时间组件中常用的方法

继承的方法有两个: * toString()(包含时区信息)和toLocaleString()*这两种方法用的不是很多,这里的作用是返回日期和时间信息。 下面就是日期组件的常用的方法了(这些是最常用的方法):

  • getTime(): 返回日期的毫秒数,也叫时间戳
  • getFullYear(): 返回日期的年份(四位数字)
  • setFullYear(): 设置日期的年份(四位数字)
  • getMonth(): 返回日期的月份,基数从0开始,0代表一月,以此类推。
  • setMonth(): 设置日期的月份,规则如上。
  • getDate(): 返回日期的天数
  • setDate(): 设置日期的天数
  • getHours(): 返回日期的小时数
  • setHours(): 设置日期的小数数
  • getMinutes(): 返回日期的分钟数
  • setMinutes(): 设置日期的分钟数
  • getSeconds(): 返回日期的秒数
  • setSeconds(): 设置日期的秒数
  • getMilliseconds(): 返回日期的毫秒数
  • setMilliseconds(): 设置日期的毫秒数
  • getDay(): 获取周几(这和我们平常的理解有点不同,0代表周日,以此类推,6代表周六
  • getTimezoneOffset(): 获取本地时间与UTC时间相差的分钟数,这个方法我还是第一次见

3.在工作中看到的一个方法format(),这里作为补充

这个方法我是第一次见,所以就google了一下,发现这真是个好东西,它是Date对象的一个原型方法,给我的最直观的感觉就是在拼接一个日期的时候,不需要再去一一调用上面的方法,而是直接调用format方法进行格式化即可,里面的参数就是按照需求想得到的日期格式的字符串。

ini 复制代码
var now = new Date('2017-09-18 12:09:20');  
var newDate = now.format('yyyy-MM-dd'); 
console.log(newDate);  //2017-09-18 
var newYear = now.format('yyyy'); 
console.log(newDate);  //2017

以后在业务里面可以封装一个获取年月日时分秒以外还包含周几的方法😯,这样可以适用更多的业务场景。

相关推荐
页面魔术2 分钟前
无虚拟dom怎么又流行起来了?
前端·javascript·vue.js
汪子熙18 分钟前
浏览器里出现 .angular/cache/19.2.6/abap_test/vite/deps 路径究竟说明了什么
前端·javascript·面试
林太白24 分钟前
Nuxt3 功能篇
前端·javascript·后端
YuJie25 分钟前
webSocket Manager
前端·javascript
wycode1 小时前
Promise(一)极简版demo
前端·javascript
浮幻云月1 小时前
一个自开自用的Ai提效VsCode插件
前端·javascript
艾小码1 小时前
Vue 3全面解析:Composition API、响应式原理与生态
前端·javascript·vue.js
Process1 小时前
面试官:Vue和React源码里用到了哪些设计模式?
前端·javascript·面试
华仔啊1 小时前
Vue3+TS设计模式:5个真实场景让你代码更优雅
前端·javascript·vue.js
兮漫天1 小时前
bun + vite7 的结合,孕育的 Robot Admin 【靓仔出道】(十六)
前端·javascript·vue.js