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 小时前
微信小程序入门学习教程,从入门到精通,微信小程序常用API(上)——知识点详解 + 案例实战(4)
前端·javascript·学习·微信小程序·小程序·html5·微信开放平台
蓝莓味的口香糖3 小时前
【JS】什么是单例模式
开发语言·javascript·单例模式
reembarkation5 小时前
自定义分页控件,只显示当前页码的前后N页
开发语言·前端·javascript
gerrgwg5 小时前
React Hooks入门
前端·javascript·react.js
汉字萌萌哒6 小时前
【 HTML基础知识】
前端·javascript·windows
北城以北88888 小时前
Vue--Vue基础(二)
前端·javascript·vue.js
FuckPatience9 小时前
Vue 组件定义模板,集合v-for生成界面
前端·javascript·vue.js
silent_missile12 小时前
vue3父组件和子组件之间传递数据
前端·javascript·vue.js
克里斯蒂亚诺更新13 小时前
微信小程序app.js中每30秒调用一次wx.getLocation
javascript·微信小程序·小程序
鄃鳕14 小时前
C++坑系列,C++ std::atomic 拷贝构造函数问题分析与解决方案
java·javascript·c++