概述

最近想要通过Date类的getXXX方法自定义格式化时间字符串,结果发现结果和预想的不同,主要问题在getMonth和getDay两个接口上。

(Date).getMonth()

当前时间为2018/9/13,但是通过getMonth返回的值却是8
查看了库代码说明:

 /** Gets the month, using local time. */getMonth(): number;`

以为是使用的接口有问题,但是发现好像没有额外可用接口,查询资料后得知:

getMonth() 从 Date 对象返回月份 (0 ~ 11)

(Date).getDay()

时间问题解决。
按照通常年月日的思维习惯,要获取当前日,通常就是getDay方法,结果发觉明显不对。看了下库代码说明:

 /** Gets the day of the week, using local time. */getDay(): number;

好吧,感情这个是获取本周的星期时间,orz。
然后找到了正确的获取姿势:

    /** Gets the day-of-the-month, using local time. */getDate(): number;

吐槽一下,最近写JS想死。
随便一个简单的接口或功能,都能折腾半天,根本没办法通过代码直接找到合适的答案,总要去搜寻一番官方或非官方文档,才能得到解答。
啧啧啧,是我的参与姿势和方法有问题吗,泪目。

附录-Date方法:

方法 说明
Date() 返回当日的日期和时间。
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setYear() 请使用 setFullYear() 方法代替。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setTime() 以毫秒设置 Date 对象。
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
toSource() 返回该对象的源代码。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toDateString() 把 Date 对象的日期部分转换为字符串。
toGMTString() 请使用 toUTCString() 方法代替。
toUTCString() 根据世界时,把 Date 对象转换为字符串。
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
valueOf() 返回 Date 对象的原始值。

参考链接

  • JavaScript Date 对象

JavaScript-Date类的getMonth方法释疑相关推荐

  1. Java 中Date类getTime()的方法

    Java 中Date类getTime()的方法 1.getTime() /**Returns the number of milliseconds since January 1, 1970, 00: ...

  2. java基础—Date类的常见方法演示

    Date 中的常用方法演示 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleD ...

  3. Java中Date类中getTime()方法

    public long getTime() 返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒 数 . 结果 自1970年1月1日以来,以此日期为准的00:00:00 ...

  4. Java专题 Date类 使用及方法总结 +从你出生到现在过了多少天案例

    //Date//构造方法Date date = new Date(); //获取当前时间 CST格式 //.util 下的dateDate date2 = new Date(0); //填入毫秒数 获 ...

  5. 【JavaScript】JavaScript Date 对象常用方法大全,例如:getDate、getDay、getFullYear、getHours等(包括作用、语法、参数解析、详细用例)

    JavaScript Date常用方法 1.getDate() 方法 2.getDay() 方法 3.getFullYear() 方法 4.getHours() 方法 5.getMillisecond ...

  6. 日历对象导哪个包_java.util的的Date类和Calendar类

    Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时间,精确到毫秒. Java中有两个Date类,还有一个是java.sql.Date,这个类一般不用,即 ...

  7. java中Date类、DateFormat及SimpleDateFormat简介

    Date类: Date类表示日期和时间,精确到毫秒(千分之一秒)位于java.util.Date下.日期是可以计算的,其本质是利用毫秒值进行计算,任何一个时间点都可以转换为毫秒值,毫秒值表示一个瞬间. ...

  8. Date 类的总结。含代码。

    一,Date类 1,Date类 对象的创建: Date dateNow = new Date(); //创建当前时间的日期对象. Date datewhen = new Date(long milli ...

  9. Python 日期模块的 datetime.date 类

    datetime.date 类是表示具有年.月.日属性的类.使用 today()类方法可返回当前日期的 date 对象.例如: import datetime today = datetime.dat ...

  10. String类 Object类 System类 Math类 Date类 Calendar类 DateFormat类

    API 全称Application Programming Interface,即应用程序编程接口. API是一些预先定义函数,目的是用来提供应用程序与开发人员基于某软件或者某硬件得以访问一组例程的能 ...

最新文章

  1. 数据结构 python的书推荐-为什么程序员一定要学数据结构?数据结构书单推荐~...
  2. JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值
  3. 团队任务4-每日例会(2018-12-6)
  4. 对话实录 | 看华为云如何使能AI计算行业创新
  5. python计算器基础知识_Python基础(一):将Python当做计算器、编程的第一步
  6. iOS打电话发短信发邮件总结
  7. C# 读取硬盘信息类
  8. 实现贝叶斯分类器_机器学习实战项目-朴素贝叶斯
  9. 【深入浅出etcd系列】2. 心跳和选举
  10. iQOO Z1于10月21日开启双十一钜惠,最高立减200元
  11. 问题四十七:怎么用ray tracing画superellipsoid (2)
  12. 工业大数据的发展面临哪四大挑战
  13. Material UI 4.10 Skeleton 骨架
  14. OC中数组的遍历方法
  15. mysql kill 很多_MySQL--批量KILL连接
  16. 联想Y9000P2021双SSD系统win10下ubantu20.04+ROS的安装(记录非教程)
  17. 3DMax基础入门教程,命令面板的设置简介以及功能
  18. checkbox在ftl文件的使用
  19. arc diff 指定版本号_marlin固件详解《个人感觉比较全》
  20. Golang Beego框架之WebIM例子分析

热门文章

  1. Summarize 2014 Look Ahead 2015
  2. 算法:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
  3. 按顺序发起多次请求的loading使用
  4. 后台管理系统下载excel文件
  5. CentOS7安装Oracle11.2.0.4
  6. 微信小程序获取是android还是ios,微信小程序-手机操作系统以及微信版本判断
  7. java fail fast_Java集合中的fail-fast(快速失败)机制详解
  8. docker tensorflow_Docker环境下如何使用TensorBoard
  9. mfc 邮件收发系统_腾讯企业邮箱的系统管理功能?
  10. sscnc machine simulation电气识图_高级电气工程师的六大技能,PLC仅占其一,都会了年薪轻松50W+...