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 小时前
一个模拟四轴飞行器在随机气流扰动下悬停飞行的交互式3D仿真网页,包含飞行器建模与PID控制算法
javascript·3d·html·四轴无人机模拟飞行
来恩10033 小时前
jQuery选择器
前端·javascript·jquery
前端繁华如梦3 小时前
树上挂苹果还是挂玻璃球?Three.js 程序化果实的完整实现指南
前端·javascript
CDwenhuohuo4 小时前
优惠券组件直接用 uview plus
前端·javascript·vue.js
川冰ICE4 小时前
TypeScript装饰器与元编程实战
前端·javascript·typescript
AI砖家4 小时前
Vue3组件传参大全,各种传参方式的对比
前端·javascript·vue.js
希望永不加班4 小时前
var局部变量类型推断的利弊
java·服务器·前端·javascript·html
threelab5 小时前
Three.js 3D 地图可视化 | 三维可视化 / AI 提示词
前端·javascript·人工智能·3d·着色器
失眠的咕噜6 小时前
PDA 安卓设备上传多张图片
android·前端·javascript
掰头战士6 小时前
深入了解JS原型及原型继承链机制
javascript