为了账号安全,请及时绑定邮箱和手机立即绑定

JS格式化日期

JS格式化日期

白板的微信 2018-07-05 12:19:56
2018/7/26格式化成2018-07怎么写啊
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

function leftpad  (str, len, ch) {

  // str:要转换的字符串/数字、len:转多长、ch:拼接符

  str = String(str)

  var i = -1

  if (!ch && ch !== 0) ch = ' '

  len = len - str.length

  while (++i < len) {

    str = ch + str

  }

  return str

}


function revertDate(date){

    var str = date.split('/');

    var res = str[0] + '-' + leftpad(str[1], 2, '0');

    return res;

}

console.log(revertDate('2018/7/26'));


查看完整回答
反对 回复 2018-07-14
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

泻药,只是面对这个题目的话:
('2018/7/26').replace(/\b(\d)\b/g, '0$1').replace(/^(\d{4})\/(\d{2})\/\d{2}/,'$1-$2')


分两步操作:

  1. 替换日期字符中的单个位数为双位数,包括月份和天

  2. 替换 / 为 -

其中,$1 $2 是分组操作,代表正则中()中的匹配内容,$1就是第一个括号中的$2就是第二个括号中的,如果存在嵌套,那么从外向里数。


查看完整回答
反对 回复 2018-07-14
?
暮色呼如

TA贡献1853条经验 获得超9个赞

var a = '2018/7/26'.split('/');

var b = a[0] + '-' + (a[1] < 10 ? '0':'') + a[1];

console.log(b);


查看完整回答
反对 回复 2018-07-14
  • 3 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信