[JavaScript]JavaScript 仿 PHP Date Format

PHP中有Date函式可以把一串Unix Time 轉換成想要的字串格式

但是JS中卻需要大費周章的呼叫函式

PHP中有Date函式可以把一串Unix Time 轉換成想要的字串格式

但是JS中卻需要大費周章的呼叫函式

所以花了一些時間仿造了PHP的功能

目前只能把現在的時間格式化

不過也夠用了

另外也做了幾隻補0的函式

 


/* 左邊補0 */
function PadLeft(str,lenght){
    if(str.toString().length >= lenght){
        return str;
    }else{
        return PadLeft("0" +str,lenght);
    }
}

/* 右邊補0 */
function PadRight(str,lenght){
    if(str.length >= lenght){
        return str;
    }else{
        return PadRight(str+"0",lenght);
    }
}
/*
Y - 年,四位數字; 如: "1999"
y - 年,二位數字; 如: "99"
m - 月份,二位數字,若不足二位則在前面補零; 如: "01" 至"12"
n - 月份,二位數字,若不足二位則不補零; 如: "1" 至"12"
d - 幾日,二位數字,若不足二位則前面補零; 如: "01" 至"31"
j - 幾日,二位數字,若不足二位不補零; 如: "1" 至"31"
h - 12 小時制的小時; 如: "01" 至 "12"
H - 24 小時制的小時; 如: "00" 至 "23"
g - 12 小時制的小時,不足二位不補零; 如: "1" 至12"
G - 24 小時制的小時,不足二位不補零; 如: "0" 至"23"
i - 分鐘; 如: "00" 至 "59"
s - 秒; 如: "00" 至 "59"

*/
/* 取得日期 */
function GetDateString(FormatString){
    var date = new Date();
    var hours = (date.getHours() > 11)? date.getHours()-12 : date.getHours();
    hours = (hours == 0)? 12: hours;

    FormatString = FormatString.replace(/Y/g, date.getFullYear());
    FormatString = FormatString.replace(/y/g, date.getFullYear().toString().substr(3));
    FormatString = FormatString.replace(/m/g, PadLeft((date.getMonth()+1), 2));
    FormatString = FormatString.replace(/n/g, date.getMonth()+1);
    FormatString = FormatString.replace(/d/g, PadLeft(date.getDate(), 2));
    FormatString = FormatString.replace(/j/g, date.getDate());
    FormatString = FormatString.replace(/h/g, PadLeft(hours, 2));
    FormatString = FormatString.replace(/H/g, PadLeft(date.getHours(), 2));
    FormatString = FormatString.replace(/g/g, hours);
    FormatString = FormatString.replace(/G/g, date.getHours());
    FormatString = FormatString.replace(/i/g, PadLeft(date.getMinutes(), 2));
    FormatString = FormatString.replace(/s/g, PadLeft(date.getSeconds(), 2));

    return FormatString;
}

 

我經營的論壇: 台論之星

塵世中一位載浮載沉之小小工程師

michael-chen@jiebu-lang.com