一锅小青蛙
2016-06-06 07:14
采纳率: 70.4%
浏览 7.8k
已采纳

js如何将日期型转成字符串?

比如"2016-06-06 12:05:35"变成"20160606120535"??

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

15条回答 默认 最新

  • 已采纳

    replace去掉-空白和:不就行了

     var s='2016-06-06 12:05:35'
    s=s.replace(/[- :]/g,'')
    
    

    日期对象要调用api,然后格式化下

    
        function addZero(v){if(v<10)return '0'+v;return v.toString()}
        var d = new Date();
        var s = d.getFullYear().toString() + addZero(d.getMonth() + 1) + addZero(d.getDate()) + addZero(d.getHours()) + addZero(d.getMinutes()) + addZero(d.getSeconds());
        alert(s)
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • liweiboy 2016-06-06 07:19

    用SimpleDateFormate格式化时间,你可以百度下!

    评论
    解决 无用
    打赏 举报
  • liweiboy 2016-06-06 07:20
     给你个例子 
            Date date= new Date();//创建一个时间对象,获取到当前的时间
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间显示格式
            String str = sdf.format(date);//将当前时间格式化为需要的类型
    
    评论
    解决 无用
    打赏 举报
  • huyanghucf 2016-06-06 07:32

    一个笨办法:
    Date date=new Date();
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String str = format.format(date);
    str=str.replaceAll(" ", "").replaceAll("-", "").replaceAll(":", "");

    评论
    解决 无用
    打赏 举报
  • ctyilyx 2016-06-06 07:44

    这写的都是js吗,好像不是js吧

    评论
    解决 无用
    打赏 举报
  • qingtanyuehui 2016-06-06 07:57

    设置var 年 月 日 时 分 秒 都为0,然后get到相应的数据拼接,判断下大于10直接拼接,小于10就在前面加个0,最后toString就会得到你想要的字符串了

    评论
    解决 无用
    打赏 举报
  • shenmill 2016-06-06 09:13

    var date = new Date();

    var time = date.toString();
    如果你想要获取年月日的具体值可以用split函数转化为数组,即
    var date = new Date();

    var time = date.toString().split(" ");

    评论
    解决 无用
    打赏 举报
  • lnkToKing 2016-06-06 09:57

    送你一段代码

    Date.prototype.format = function(format) {
        var o = {
            "M+" : this.getMonth() + 1, // month
            "d+" : this.getDate(), // day
            "h+" : this.getHours(), // hour
            "m+" : this.getMinutes(), // minute
            "s+" : this.getSeconds(), // second
            "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
            "S" : this.getMilliseconds()
        // millisecond
        };
        if (/(y+)/.test(format)) {
            format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for ( var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
            }
        }
        return format;
    };
    
    alert(new Date().format("yyyyMMddhhmmss"))
    
    评论
    解决 无用
    打赏 举报
  • cocotsau 2016-06-06 11:38

    回答真多啊!提供个方法参考,替换非数字部分为空

    var str = "2016-06-06 12:05:35";
    str = str.replace(/[^\d]/g,"");
    console.log(str);// => 20160606120535
    
    评论
    解决 无用
    打赏 举报
  • aline200 2016-06-07 01:15

    如果要转换的参数是日期类型的直接用:
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String str = format.format(date);
    如果是拼接起来的日期格式参数,楼上的这个就可以:
    var str = "2016-06-06 12:05:35";
    str = str.replace(/[^\d]/g,"");
    console.log(str);// => 20160606120535

    评论
    解决 无用
    打赏 举报
  • mazegong 2016-06-07 04:45

    Date.prototype.format = function(format) {
    var o = {
    "M+" : this.getMonth() + 1, // month
    "d+" : this.getDate(), // day
    "h+" : this.getHours(), // hour
    "m+" : this.getMinutes(), // minute
    "s+" : this.getSeconds(), // second
    "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
    "S" : this.getMilliseconds()
    // millisecond
    };
    if (/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for ( var k in o) {
    if (new RegExp("(" + k + ")").test(format)) {
    format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
    }
    }
    return format;
    };

    alert(new Date().format("yyyyMMddhhmmss"))这个好

    评论
    解决 无用
    打赏 举报
  • little_how 2016-06-07 05:32
    评论
    解决 无用
    打赏 举报
  • 王倔驴 2016-06-22 09:02

    我喜欢用正则表达式:
    var str = "2016-06-06 12:05:35";
    str = str.replace(/[^\d]/g,"");
    console.log(str);// => 20160606120535
    但是这个地方用正则有点小材大用了,还是用日期函数吧:
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
    String str = format.format(date);

    评论
    解决 无用
    打赏 举报
  • 王倔驴 2016-06-22 09:02

    你的头像这么调皮?看到我差点流口水

    评论
    解决 无用
    打赏 举报
  • 认真学前端 2016-07-10 05:17

    str.replace(/[^\d]/g,'')

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题