日期:2014-05-16  浏览次数:20688 次

JS读取时间问题及汉字乱码?
//设置时间
function SetDateTime() {
    try {
        document.getElementById('lblTime').innerHTML = (new Date()).format('yyyy年MM月dd日')
                    + " " + CalendarStr.dayNames[(new Date()).getDay()]
                        + " " + (new Date()).format('HH:mm:ss');
        paramDataTime = (new Date()).format('yyyy年MM月dd日')
                    + " " + CalendarStr.dayNames[(new Date()).getDay()];
    }
    catch (e) {
    }
};


显示的时间是:12121212年十二十二月3131日 鏄熸湡涓€ 1414:1212:2828  不知  怎么回事?请求帮助,谢谢了

------解决方案--------------------
自己扩展的format有问题,


至于乱码检查页面指定的编码和存储编码是否一致
gb2312 存储编码为ansi
utf-8  存储编码为utf-8
------解决方案--------------------
存储编码检查了没有?为gb的时候存储需要为ansi,用记事本打开,另存为,看编码是否为ansi

CalendarStr.dayNames[(new Date()).getDay()]应该找个有问题。。js文件没有存储为ansi导致乱码

时间获取不对是函数编写有问题
------解决方案--------------------
涉及到乱码都比较麻烦,我帮你写了一个方法,希望对你有帮助。
/** 獲取當前時間周数 **/

var CalendarStr = {
    dayNames: function(day) {
        switch (day) {
        case 0:
            return "星期天";
        case 1:
            return "星期一";
        case 2:
            return "星期二";
        case 3:
            return "星期三";
        case 4:
            return "星期四";
        case 5:
            return "星期五";
        case 6:
            return "星期六";
        }
    }
};

/** 獲取當前時間字符串 **/

function getFormatDate(oDate) {
    var year = oDate.getFullYear();

    var month = oDate.getMonth() + 1;
    month = month < 10 ? "0" + month : month;

    var date = oDate.getDate();
    date = date < 10 ? "0" + date : date;

    var hour = oDa