1、主要是封装了JavaScript中Date对象的操作:
新增了format方法,根据传进的时间格式返回相应的时间字符串。
* yyyy: 表示年
* MM: 表示月
* dd: 表示天
* HH: 表示小时
* mm: 表示分钟
* ss: 表示秒
* ww: 表示星期(中文)
* we: 表示星期(英文)
/**
* 根据当前的日期,返回星期
* ww:表示中文
* we:表示英文
*/
Date.prototype.getWeekDay = function(language){
var weekdayName;
switch(this.getDay()){
case 0 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期日";
} else {
weekdayName = "Sunday";
}
break;
case 1 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期一";
} else {
weekdayName = "Monday";
}
break;
case 2 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期二";
} else {
weekdayName = "Tuesday";
}
break;
case 3 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期三";
} else {
weekdayName = "Wednesday";
}
break;
case 4 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期四";
} else {
weekdayName = "Thursday";
}
break;
case 5 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期五";
} else {
weekdayName = "Friday";
}
break;
case 6 :
if (language != undefined && language != "" && language == "zh") {
weekdayName = "星期六";
} else {
weekdayName = "Saturday";
}
break;
}
return weekdayName;
};
/**
* 格式化获得的时间数字
* 0----00
* 1----01
* 2----02
*/
Date.prototype.formatNumber = function(value){
if (value >= 0 && value < 10) {
value = "0" + value;
}
return value;
};
/**
* 返回指定字符格式的时间字符串
* @param format 返回的格式
* yyyy: 表示年
* MM: 表示月
* dd: 表示天
* HH: 表示小时
* mm: 表示分钟
* ss: 表示秒
* ww: 表示星期(中文)
* we: 表示星期(英文)
*/
Date.prototype.format = function(format){
try{
// 年、月、日
var year = this.getYear();
var month = this.getMonth()+1;
var day = this.getDate();
// 时、分、秒
var hour = this.getHours();
var minute = this.getMinutes();
var second = this.getSeconds();
// yyyy-MM-dd HH:mm:ss
if (/yyyy/.test(format)) {
format = format.replace(/yyyy/, year);
}
if (/MM/.test(format)) {
format = format.replace(/MM/, this.formatNumber(month));
}
if (/dd/.test(format)) {
format = format.replace(/dd/, this.formatNumber(day));
}
if (/HH/.test(format)) {
format = format.replace(/HH/, this.formatNumber(hour));
}
if (/mm/.test(format)) {
format = format.replace(/mm/, this.formatNumber(minute));
}
if (/ss/.test(format)) {
format = format.replace(/ss/, this.formatNumber(second));
}
if (/ww/.test(format)) {
format = format.replace(/ww/, this.getWeekDay("zh"));
}
if (/we/.test(format)) {
format = format.replace(/we/, this.getWeekDay("en"));
}
}catch(e){
alert(e.name + ": " + e.message);
}
return format;
};
2、相应的在Html中调用
<html>
<head>
<script src="dateclass.js"></script>
</head>
<body>
<div id="time"></div>
<script>
var ds = new Date();
alert(ds.format("yyyy-MM-dd HH:mm:ss we"));
alert(ds.format("yyyy年MM月dd日 HH时mm分ss秒 ww"));
</script>
</body>
</html>