[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