资讯专栏INFORMATION COLUMN

javascript中格式化时间戳 getMonth() 返回了 0

xiangchaobin / 3042人阅读

摘要:在编程中,时间戳与日期间的转换应该是很常用了,举个简单的例子年月号最终结果却是我们打断点看一下发生了什么我们发现,日期并没有错。也就是说,返回了,是正确的,代表月。返回的是周几,返回的才是几号。

在JS编程中,时间戳与日期间的转换应该是很常用了,举个简单的例子:

var timestamp = 1546927200000;  // 2019年1月8号
var newDate = new Date();
newDate.setTime(timestamp);
var date = newDate.getFullYear() + "-" + newDate.getMonth() + "-" + newDate.getDay();
console.log(date);

最终结果却是:

我们打断点看一下发生了什么?

debug我们发现,日期并没有错。是2019年1月8号星期二,那么为什么返回的却是2019-0-2。原因是由于,我们在使用Date的对象的时候没有注意以下两点:

getMonth()的下标是0,不是1。也就是说,返回了0,是正确的,0代表1月。

getDay()返回的是周几,getDate()返回的才是几号。

所以上述方法改写为:

        var timestamp = 1546927200000;
        var newDate = new Date();
        newDate.setTime(timestamp);
        var date = newDate.getFullYear() + "-" + (newDate.getMonth() + 1) + "-" + newDate.getDate();
        console.log(date);

即得到我们想要的结果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106978.html

相关文章

  • Date对象常用的封装方法及遇到的坑

    摘要:使用中的对象已经很久了但是一直以来都没有将常用的封装函数和遇到的坑记录下来趁着今天有空就记录下来方便自己下次直接使用并提醒自己遇到过那些坑。利用设置日期时从设置当设置为时即上个月的最后一天参考 使用JS中的Date对象已经很久了,但是一直以来都没有将常用的封装函数和遇到的坑记录下来,趁着今天有空,就记录下来,方便自己下次直接使用,并提醒自己遇到过那些坑。如果有哪些地方不对,希望大家能够...

    taowen 评论0 收藏0
  • 关于时间的那些事

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    qqlcbb 评论0 收藏0
  • 关于时间的那些事

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    mzlogin 评论0 收藏0
  • JS将时间转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法

    方法一: 使用Javascript语言,将时间戳转换为类似新浪微博的时间的表示方法。要求转换规则:1分钟以内显示为:刚刚1小时以内显示为:N分钟前当天以内显示为:今天 N点N分(如:今天 22:33)昨天时间显示为:昨天 N点N分(如:昨天 10:15)当年以内显示为:N月N日 N点N分(如:02月03日 09:33)今年以前显示为:N年N月N日 N点N分(如:2000年09月18日 15:59)...

    DirtyMind 评论0 收藏0

发表评论

0条评论

xiangchaobin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<