在js中如何把时间戳转换为12小时制

在js中如何把时间戳转换为12小时制,不需要其他的项目,只想知道把上下午怎么处理,是不是通过得到的24小时制进行算法得到的???


比如:得到的是下午16点-12=4,所以根据16>12 && 16-12=4可以得到时间:下午 04点
                              上午10点-12=-2,所以根据10<12&&10-12=-2可以得到时间:上午12-2=10点
                                                            01-12=-11,    01<12 && 01-12=-11,=====>>>>上午12-11=01点

http://www.jb51.net/article/77066.htm

你得到的24小时时间应该是 从 0点~23点 早上6-12 = -6=》上午 6点 18-12=6=》下午6点

/**
* @see 格式化时间
* @param dateString
* 时间格式(为空采用当前本机时间)
* @param formatString
* 格式字符串 yyyy(年) MM(月) dd(日) HH(24小时) hh(12小时) hh_en(12小时) mm(分)
* ss(秒) week(星期几 中文) week_number(星期几 数字) week_en(星期几 英文)
* @return 格式化完成的时间(字符串形式) 默认返回(yyyy-MM-dd HH-mm-ss)
/
function formatDate(dateString, formatString) {
// 声明时间对象
var date = null;
// 判断参数是否为空
if (trim(dateString) == "" || dateString == null) {
// 使用本机的时间对象
date = new Date();
}
try {
// 判断参数是不是对象
if (typeOf(dateString) == "object") {
date = dateString;
} else {
// 把所有的"-"替换为"/"
// 因为IE低版本浏览器的时间格式中不支持"-"
dateString = dateString.replace(/-/g, "/");
// 判断是不是时间戳
if (new RegExp("^[0-9]
$").test(trim(dateString))) {
// 时间戳剩1000
// 因为js获取的时间戳以毫秒为单位
dateString = Number(trim(dateString)) * 1000;
} else {
dateString = trim(dateString);
}
// 创建时间对象
var date = new Date(dateString);
}
} catch (e) {
// 使用本机的时间对象
date = new Date();
}
var year = date.getFullYear();
var mouth = date.getMonth() + 1;
if (Number(mouth) < 10) {
mouth = "0" + mouth;
}
var day = date.getDate();
if (Number(day) < 10) {
day = "0" + day;
}
var hour = date.getHours();
if (Number(hour) < 10) {
hour = "0" + hour;
}
var minutes = date.getMinutes();
if (Number(minutes) < 10) {
minutes = "0" + minutes;
}
var seconds = date.getSeconds();
if (Number(seconds) < 10) {
seconds = "0" + seconds;
}
var weekIndex = date.getDay();
var week = [ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ];
var week_number = [ "7", "6", "5", "4", "3", "2", "1" ];
var week_en = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
if (trim(formatString) == "" || formatString == null) {
formatString = "yyyy-MM-dd HH-mm-ss";
}
formatString = formatString.replace("yyyy", year);
formatString = formatString.replace("MM", mouth);
formatString = formatString.replace("dd", day);
formatString = formatString.replace("HH", hour);
if (formatString.indexOf("hh_en") != -1) {
if (Number(hour) > 12) {
formatString = formatString.replace("hh_en", "AM " + hour);
} else {
formatString = formatString.replace("hh_en", "PM " + (Number(hour) - 12));
}
} else {
if (Number(hour) > 12) {
formatString = formatString.replace("hh", "上午 " + hour);
} else {
formatString = formatString.replace("hh", "下午 " + (Number(hour) - 12));
}
}

        formatString = formatString.replace("mm", minutes);
        formatString = formatString.replace("ss", seconds);
        if (formatString.indexOf("week_number") != -1) {
            formatString = formatString.replace("week_number", week_number[weekIndex]);
        } else if (formatString.indexOf("week_en") != -1) {
            formatString = formatString.replace("week_en", week_en[weekIndex]);
        } else {
            formatString = formatString.replace("week", week[weekIndex]);
        }
        return formatString;
    }
    /**
     * @see 字符串去除左右空格
     * @param convertString
     *            需要转换的字符串
     * @returns 转换完成的字符串
     */
    function trim(convertString) {
        try {
            if (convertString == "" || convertString == null) {
                return "";
            } else {

                while (convertString.substring(0, 1) == " " || convertString.substring(convertString.length - 1, convertString.length) == " ") {
                    if (convertString.substring(0, 1) == " ") {
                        convertString = convertString.substring(1, convertString.lengt);
                        continue;
                    }
                    if (convertString.substring(convertString.length - 1, convertString.length) == " ") {
                        convertString = convertString.substring(0, convertString.length - 1);
                        continue;
                    }
                }
                return convertString;
            }
        } catch (e) {
            return convertString;
        }
    }
 这是我转换时间的工具文件,你可以借鉴借鉴。
 中心思想就在于new Date(时间);,然后再通过getXxx()获取到相应的年月日时分秒星期等。
 你也可以自己去写一些格式化时间的方法。
 然后根据某种规律重组成你需要的格式。
 以下几点是需要注意的:
 1.js的时间戳是以毫秒为单位的。
 2.IE浏览器的时间格式内不支持"-"。
 3.月份是以0开始的,例如:0表示1月、1表示2月。
 4.星期是以0开始的,顺序是:星期日、星期一、星期二、星期三、星期四、星期五、星期六。