每天CookBook之JavaScript-012

  • 使用正则表达式转换时间字符串
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>011</title>
</head>
<body>
    
</body>
<script type="text/javascript">
var dtstr= "2015-3-4T19:35:32Z";
dtstr = dtstr.replace(/\D/g," ");
console.log(dtstr);

var dtcomps = dtstr.split(" ");
console.log(dtcomps);

dtcomps[1]--;
console.log(dtcomps);

var convdt = new Date(Date.UTC.apply(null, dtcomps));
console.log(convdt);
</script>
</html>

界面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>012</title>
</head>
<body>
    <form action="">
        <p>Datastring in ISO 8601 format:<input type="text" id="datestring"></p>
    </form>
    <button id="dataSubmit">Convert Data</button>
    <div id="result"></div>
</body>
<script type="text/javascript">
document.getElementById("dataSubmit").onclick=function(){
    var dtstr = document.getElementById("datestring").value;
    var convdate = convertISO8601toDate(dtstr);
    document.getElementById("result").innerHTML=convdate;
}

function convertISO8601toDate(dtstr) {
    dtstr = dtstr.replace(/\D/g," ");
    console.log(dtstr);
    dtstr = dtstr.replace(/\s+$/,"");
    console.log(dtstr);

    var dtcomps = dtstr.split(" ");
    if(dtcomps.lenth < 3) return "invalid date";
    if(dtcomps.lenth < 4){
        dtcomps[3] = 0;
        dtcomps[4] = 0;
        dtcomps[5] = 0;
    }
    dtcomps[1]--;
    var convdt = new Date(Date.UTC.apply(null, dtcomps));
    return convdt.toUTCString();
}
</script>
</html>
posted @ 2016-07-09 11:08  4Thing  阅读(83)  评论(0编辑  收藏  举报