javascript的日期函数

在js中,日期对象就是Date,首先,我们需要创建一个日期对象,才能对日期对象中的函数进行操作:
这里写图片描述
打印出来的结果:
这里写图片描述
注意,这里的格式是格林式日期
Tue Jul 18 2017 10:33:05 GMT+0800
Tue代表星期几,Jul代表月份,18代表几号,2017是年份,10:33:05是时间,GMT+0800代表是描述:东八区。
这样的格式不是我们国家所展示的方式,于是有了一个toLocaleString()的一个函数,这个函数就是根据本地时间格式转换成字符串,但是也只能转换成2017/7/18 上午10:33:05这样的一种格式,我们并不能人为进行格式的改变。
接下来,我们就开始一点点的解剖这个时间:
年:
这里写图片描述
得到的结果如下:
这里写图片描述
注意,这里的117代表的是短年,这个基本可以忽视不管,我们一般用到的就是getFullYear()。

月:
注意,国外的月份是从0月开始的。而不是1月。所以国外的月份是0-11月:
这里写图片描述
效果如下:
这里写图片描述
拿到的一个6,但是现在是7月份,所以,当获取到js里Date对象的月份后,我们通常需要+1。
这里写图片描述
这样才能真正获取到我们所需要的月份。

日:
这里写图片描述
效果如下:
这里写图片描述
拿到18号,这个很简单,不多做阐述。

时分秒:
这里写图片描述
效果如下:
这里写图片描述
但是我们发现有一点瑕疵,因为如果时分秒是个位数的话,我们一般会写成09:05:08 这样的格式,所以我们要运用到之前的三元运算法稍微做一些修改:
这里写图片描述
这样,效果就出来了:
这里写图片描述
注意,这里的getHours()是24小时制的。
知道了这些,我们就可以进行自定义的格式调整了:
这里写图片描述
效果如下:
这里写图片描述
那么,我们也可以对这个代码进行一个简单的封装:
首先,我们定义一个函数,然后定义出所有的需要替换规则字符的正则表达式:
这里写图片描述
接下来,我们将一个具体的时间的所有部位(年,月,日,时,分,秒)定义出来,注意,这里需要考虑到个位数前面需要加0的需求:
这里写图片描述
注意,这里的hour我用了_24hour,意思就是这是一个24小时制的时间,那么同样的需要定义一个12小时制的时间:
这里写图片描述
那么,这里的12小时制,就是判断如何当hour > 中午的12点以后,我们将hour减去12,所得到的就是12小时制。同时,在时间前面标注是am还是pm。
最后,我们进行替换:
这里写图片描述
那么,我们调用一下进行测试:
这里写图片描述
最后得到的结果如下:
这里写图片描述
虽然这段代码BUG还是很多,但是基于我们目前学的知识,这样的一个功能已经差不多完成了。有心的同学可以完善一下这段代码,将代码实现的更为完美。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值