格式化日期从2013年1月2日到整数yyyymmdd

时间:2013-01-16 10:27:42

标签: javascript date datetime

我用来执行此操作的当前代码就是这样,

x3 = new Date(x1.value).format('yyyymmdd');

这适用于Firefox,Chrome以及其他所有内容,但优秀的Internet Explorer除外。

我尝试了其他代码,例如......

<script>

function parseISO8601(dateStringInRange) {
    var isoExp = /^\s*(\d{4})-(\d\d)-(\d\d)\s*$/,
    date = new Date(NaN), month,
    parts = isoExp.exec(dateStringInRange);

    if(parts) {
      month = +parts[2];
      date.setFullYear(parts[1], month - 1, parts[3]);
      if(month != date.getMonth() + 1) {
        date.setTime(NaN);
      }
    }

    alert(date);
    return date;

}   

parseISO8601('2013-01-21'); 

</script>

这适用于所有浏览器但是给我这样的输出.....

Mon Jan 21 2013 00:00:00 GMT+0000 (GMT Standard Time)

当我真的需要它看起来像这样

20130121

有没有人遇到过这个问题,想办法解决它?

1 个答案:

答案 0 :(得分:1)

使用此处的函数在您从函数返回的日期之外构建一个新字符串。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

getDate(),getMonth()等应该是你要找的东西

示例:

var toConvert = parseISO8601('2013-01-21');
var newForm = toConvert.getYear().toString()+toConvert.getMonth().toString()+toConvert.getDate().toString();

然后,如果您需要整数形式的newForm,那么只需运行parseInt(newForm);