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

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

相关推荐
拾光拾趣录6 分钟前
实现 `this` 对象的深拷贝:从“循环引用崩溃”到生产级解决方案
前端·javascript
用户25191624271112 分钟前
Canvas之颜色渐变
前端·javascript·canvas
ZzMemory13 分钟前
详解JavaScript 解构赋值:让你的代码更优雅
前端·javascript·面试
NeverSettle_17 分钟前
next-auth使用指南与原理
前端·javascript·后端
Hilaku17 分钟前
Cookie Store API:用Promise的方式,告别手写document.cookie
前端·javascript·html
苹果电脑的鑫鑫18 分钟前
vue相关的拖拉拽官网
javascript·vue.js·ecmascript
_一两风18 分钟前
TypeScript 入门:JavaScript 爱好者的明智选择
前端·javascript·typescript
张元清23 分钟前
一个usePrevious引发的血案
javascript·react.js·面试
Spider_Man35 分钟前
从 "字符拼图" 到 "文字魔术":动态规划玩转字符串变形术
javascript·算法·leetcode
前端搬砖仔噜啦噜啦嘞36 分钟前
从0到1开发一款vscode插件
前端·javascript