javascript[es6]获取时间格式yyyy-MM-dd HH:ss:mm

javascript[es6]获取时间格式yyyy-MM-dd HH:ss:mm

 function getDateYYYYMMddHHMMSS(){
    const date = new Date();
    const month = (date.getMonth() + 1).toString().padStart(2, '0');
    const strDate = date.getDate().toString().padStart(2, '0');
    const starHours = date.getHours().toString().padStart(2, '0');
    const starMinutes = date.getMinutes().toString().padStart(2, '0');
    const starSeconds = date.getSeconds().toString().padStart(2, '0');
    return `${date.getFullYear()}-${month}-${strDate} ${starHours}:${starMinutes}:${starSeconds}`;
} 

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以尝试如下代码实现: ```javascript /** * 将Date对象转为时间格式字符串 * @param {Date} date Date对象 * @param {string} format 时间格式化字符串模板,如'yyyy-MM-dd HH:mm:ss' * @returns {string} 时间格式字符串 */ function formatDate(date, format) { const map = { 'M': date.getMonth() + 1, // 月份 'd': date.getDate(), // 日 'H': date.getHours(), // 小时 'm': date.getMinutes(), // 分 's': date.getSeconds(), // 秒 'q': Math.floor((date.getMonth() + 3) / 3), // 季度 'S': date.getMilliseconds() // 毫秒 }; format = format.replace(/([yMdhmsqS])+/g, (all, t) => { let v = map[t]; if (v !== undefined) { if (all.length > 1) { v = '0' + v; v = v.substr(v.length - 2); } return v; } else if (t === 'y') { return (date.getFullYear() + '').substr(4 - all.length); } return all; }); return format; } ``` 代码中使用了ES6的箭头函数、模板字符串、解构赋值等语法。实现了将Date对象转为时间格式字符串的功能,支持传入时间格式化字符串模板,返回时间格式字符串。代码中也添加了注释。 为了测试函数的可用性,可以编写如下单元测试代码: ```javascript function test() { const date = new Date('2021/10/01 12:34:56'); const assert = require('assert').strict; assert.strictEqual(formatDate(date, 'yyyy'), '2021'); assert.strictEqual(formatDate(date, 'yyyy-MM-dd'), '2021-10-01'); assert.strictEqual(formatDate(date, 'yyyy-MM-dd HH:mm:ss'), '2021-10-01 12:34:56'); assert.strictEqual(formatDate(date, 'yyyy-MM-dd HH:mm'), '2021-10-01 12:34'); assert.strictEqual(formatDate(date, 'yyyy/MM/dd HH:mm:ss'), '2021/10/01 12:34:56'); assert.strictEqual(formatDate(date, 'yyyyMMddHHmmss秒'), '2021年10月01日 12时34分56秒'); console.log('All test cases pass.'); } test(); ``` 测试代码中使用了Node.js的assert模块进行断言,测试了传入年、月、日、日期时间、以及完整字符串的场景。运行测试代码后,如果所有测试用例都通过,则会输出"All test cases pass."。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值