Javascript timstamp功能一个班轮

时间:2015-10-06 11:10:30

标签: javascript

在java中,这是我创建具有灵活格式的时间戳功能的一个班轮:

String timestamp() {
  Calendar now = Calendar.getInstance();
  return String.format("%1$ty%1$tm%1$td_%1$tH%1$tM%1$tS", now);
}

javascript中的等价物是什么? 这是JSFiddle:jsfiddle.net/9kpea998

(是的,我知道有moment.js

1 个答案:

答案 0 :(得分:1)

使用最少量代码的更简单的解决方案是:

function timestamp() {
    return new Date().toISOString();
}

document.write(timestamp());

但您无权访问自定义格式。

如果您想要问题中使用的确切格式,可以使用这个更长的版本:

function timestamp() {
    var date = new Date();

    var year = date.getFullYear();
    var month = date.getMonth();
    var day = date.getDate();
    var hour = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();

    year = year.toString().substr(2);
    month = ("00" + month).substr(-2,2);
    day = ("00" + day).substr(-2,2);

    var timestamp =
        year + month + day + "_" +
        hour + minute + second;

    return timestamp;
}

document.write(timestamp());

修改

您可以使用正则表达式来格式化标准ISO字符串,如下所示:

function timestamp() {
    return new Date().toISOString().replace(/([-:]|\..+)/g, "").replace("T", "_");
}

document.write(timestamp());