Javascript无效日期到字符串格式 [英] Javascript Invalid Date to string format

查看:172
本文介绍了Javascript无效日期到字符串格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试解析通过jSon从MySql检索的时间



如下:

  new Date('12:15:24')。toString('h:mmtt'); 

但是我在控制台中收到无效日期



我需要做的是将24小时格式转换为12小时上午/下午,反之亦然

解决方案

Date()构造函数只喜欢非常有限的一组日期格式。如果您的输入格式固定在'hh:mm:ss',使用简单的字符串替换可能更容易进行格式化:



  function formatTime(time){return time.replace(/(\d?\d)(:\ d \d):( \d\d)/,function(_,h,m){return(h> 12?h-12:+ h === 0?12:+ h) + m +(h> = 12?pm:am);});} console.log(formatTime('00:15:24')); console.log(formatTime('09: 24')); console.log(formatTime('10:15:24')); console.log(formatTime('11:15:24')); console.log(formatTime('12:15: )); console.log(formatTime('13:15:24')); console.log(formatTime('14:15:24'));  

/ div>



进一步阅读:




I'm trying to parse time which is retrieved from MySql via jSon

something like:

new Date('12:15:24').toString('h:mmtt');

but I keep getting Invalid Date in console

What I need to do is convert 24 hour format into 12 hour am/pm and vice versa

解决方案

The Date() constructor only likes a very restricted set of date formats. If your input format is fixed at 'hh:mm:ss' it is probably easier to format it using a simple string replace:

function formatTime(time) {
  return time.replace(/(\d?\d)(:\d\d):(\d\d)/, function(_, h, m) {
    return (h > 12 ? h-12 : +h === 0 ? "12" : +h) + m + (h >= 12 ? "pm" : "am");
  });
}

console.log( formatTime('00:15:24') );
console.log( formatTime('09:15:24') );
console.log( formatTime('10:15:24') );
console.log( formatTime('11:15:24') );
console.log( formatTime('12:15:24') );
console.log( formatTime('13:15:24') );
console.log( formatTime('14:15:24') );

Further reading:

这篇关于Javascript无效日期到字符串格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆