js 字符串格式化為時間格式


首先介紹一下我遇到的坑,找了幾個關於字符串轉時間的,他們都可以就我用的時候不行。

我的原因,我的字符串是MYSQL拿出來的不是標准的時間格式,是不會轉成功的。

解決思路:先將字符串轉為標准時間格式的字符串,在轉為時間

 

原文鏈接:https://www.jb51.net/article/66385.htm

//字符串轉日期格式,strDate要轉為日期格式的字符串 
function getDate(strDate) { 
  var st = strDate; 
  var a = st.split(" "); //這個根據你的字符串決定,如果中間為T則改T
  var b = a[0].split("-"); 
  var c = a[1].split(":"); 
  var date = new Date(b[0], b[1], b[2], c[0], c[1], c[2]);
  return date; 
} 

 

然后就是網上各種轉換方式了:

原文鏈接:https://blog.csdn.net/yangxiaovip/article/details/40429155

function formatDate(date, format) {   
    if (!date) return;   
    if (!format) format = "yyyy-MM-dd";   
    switch(typeof date) {   
        case "string":   
            date = new Date(date.replace(/-/, "/"));   
            break;   
        case "number":   
            date = new Date(date);   
            break;   
    }    
    if (!date instanceof Date) return;   
    var dict = {   
        "yyyy": date.getFullYear(),   
        "M": date.getMonth() + 1,   
        "d": date.getDate(),   
        "H": date.getHours(),   
        "m": date.getMinutes(),   
        "s": date.getSeconds(),   
        "MM": ("" + (date.getMonth() + 101)).substr(1),   
        "dd": ("" + (date.getDate() + 100)).substr(1),   
        "HH": ("" + (date.getHours() + 100)).substr(1),   
        "mm": ("" + (date.getMinutes() + 100)).substr(1),   
        "ss": ("" + (date.getSeconds() + 100)).substr(1)   
    };       
    return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function() {   
        return dict[arguments[0]];   
    });                   
}  

 

最后說明一下 我發的只是兩個方法,是原文的,並無連貫性,並未做處理。

我說的重點是問題的思路和原因。

 

個人筆記,轉載指定鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM