我的JavaScript日期库

/*
* 作者: 杨志永
* 日期: 2012-8-15
* 版本: V1.0
* 邮箱: ljy520zhiyong@163.com
* QQ:   929168233
*
*/

//获取一个当前日期对象
var date = new Date();

//设置两个个数组,用来与阿拉伯数字对应的中文数字,类似一种Map的关系
var chineseNumberArray = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
var normalNumberArray = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];

//构造一个MyDate的对象,也可以看成Java中的类,在用时请调用 : var mydate = new MyDate(); 然后就可以调用里的方法了
function MyDate()
{
	//获取年份,是一个4位数字组成的年份,比如:2012
	this.myYears = function(){
		return (date.getFullYear());
	};
	//获取中文数字的年份,比如:二零一二
	this.myChinesYear = function(){
		var numbers = this.myYears().toString();
		var str = new String();
		str += fromNumberToChinese(numbers.substring(0, 1));
		str += fromNumberToChinese(numbers.substring(1, 2));
		str += fromNumberToChinese(numbers.substring(2, 3));
		str += fromNumberToChinese(numbers.substring(3, 4));
		
		return str;
	};
	
	
	//获取月分,范围:1-12
	this.myMonths = function(){
		return (date.getMonth() + 1);	
	};
	//获取月分的中文数字,比如:十一
	this.myChineseMonths = function(){
		var numbers = this.myMonths().toString();
		var str = new String();
		if (this.myMonths() >= 10 )
		{
			str += chineseNumberArray[10];
			if ( numbers.substring(1, 2) == "0")
			{
				str += "";
			}
			else
			{
				str += fromNumberToChinese(numbers.substring(1, 2));
			}
		}
		else
		{
			str += fromNumberToChinese(numbers.substring(0, 1));
		}
		
		return str;
	};
	
	//获取日期,范围:1-31
	this.myDays = function(){
		return (date.getDate());	
	};
	//获取日期的中文数字
	this.myChineseDays = function(){
		var numbers = this.myDays().toString();
		var str = new String();
		if (this.myDays() >= 10 )
		{
			if ( numbers.substring(0, 1) == "1")
			{
				str += chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "2" )
			{
				str += chineseNumberArray[2] + chineseNumberArray[10];
			}
			else
			{
				str += chineseNumberArray[3] + chineseNumberArray[10];
			}
			
			if ( numbers.substring(1, 2) == "0" )
			{
				str += "";
			}
			else
			{
				str += fromNumberToChinese(numbers.substring(1, 2));
			}
		}
		else
		{
			str += fromNumberToChinese(numbers.substring(0, 1));
		}
		
		return str;	
	};
	
	//获取“时"的数字,范围:1-23
	this.my24Hours = function(){
		return (date.getHours());
	};
	//获取”时“的中文数字,比如:二十三
	this.myChinese24hours = function(){
		var numbers = this.my24Hours().toString();
		var str = new String();
		if (this.my24Hours() >= 10 )
		{
			if ( numbers.substring(0, 1) == "1")
			{
				str += chineseNumberArray[10];
			}
			else
			{
				str += chineseNumberArray[2] + chineseNumberArray[10];
			}
			
			if ( numbers.substring(1, 2) == "0" )
			{
				str += "";
			}
			else
			{
				str += fromNumberToChinese(numbers.substring(1, 2));
			}
		}
		else
		{
			str += fromNumberToChinese(numbers.substring(0, 1));
		}
		
		return str;	
	};
	
	//这个方法返回的格式为:【下午1】 或【上午8】
	this.my12Hours = function(){
		if (date.getHours() > 12 )
		{
			return ( "下午" + date.getHours() % 12 );
		}
		else
		{
			return ( "上午" + date.getHours());
		}
	};
	
	
	//获取分钟数
	this.myMinutes = function(){
		return (date.getMinutes());
	};
	//获取中文的分钟数
	this.myChineseMinutes = function(){
		var numbers = this.myMinutes().toString();
		var str = new String();
		if (this.myMinutes() >= 10 )
		{
			if ( numbers.substring(0, 1) == "1")
			{
				str += chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "2" )
			{
				str += chineseNumberArray[2] + chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "3" )
			{
				str += chineseNumberArray[3] + chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "4" )
			{
				str += chineseNumberArray[4] + chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "5" )
			{
				str += chineseNumberArray[5] + chineseNumberArray[10];
			}
			
			if ( numbers.substring(1, 2) == "0" )
			{
				str += "";
			}
			else
			{
				str += fromNumberToChinese(numbers.substring(1, 2));
			}
			
		}
		else
		{
			str += fromNumberToChinese(numbers.substring(0, 1));
		}
		
		return str;	
	};
	
	// 获取秒数
	this.mySeconds = function(){
		return (date.getSeconds());
	};
	//获取中文的秒数
	this.myChineseSeconds = function(){
		var numbers = this.mySeconds().toString();
		var str = new String();
		if (this.mySeconds() >= 10 )
		{
			if ( numbers.substring(0, 1) == "1")
			{
				str += chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "2" )
			{
				str += chineseNumberArray[2] + chinesenumbersArray[10];
			}
			else if ( numbers.substring(0, 1) == "3" )
			{
				str += chineseNumberArray[3] + chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "4" )
			{
				str += chineseNumberArray[4] + chineseNumberArray[10];
			}
			else if ( numbers.substring(0, 1) == "5" )
			{
				str += chineseNumberArray[5] + chineseNumberArray[10];
			}
			
			if ( numbers.substring(1, 2) == "0" )
			{
				str += "";
			}
			else
			{
				str += fromNumberToChinese(numbers.substring(1, 2));
			}
			
		}
		else
		{
			str += fromNumberToChinese(numbers.substring(0, 1));
		}
		
		return str;	
	};
	
	//这个方法返回的是:xxxx年xx月xx日 xx时xx分xx秒,xx是阿拉伯数字的方式
	this.myDefaultFormatDate = function(){
		var str = new String();
		str += this.myYears()+"年";
		str += this.myMonths()+"月"
		str += this.myDays()+"日 "
		str += this.my24Hours()+"时"
		str += this.myMinutes()+"分"
		str += this.mySeconds()+"秒"
		return str;
	};
	
	//这个方法返回的是 xxxx年xx月xx日 xx时xx分xx秒,xx是中文数字的方式
	this.myChineseFormatDate = function(){
		var str = new String();
		str += this.myChinesYear()+"年";
		str += this.myChineseMonths()+"月"
		str += this.myChineseDays()+"日 "
		str += this.myChinese24hours()+"时"
		str += this.myChineseMinutes()+"分"
		str += this.myChineseSeconds()+"秒"
		return str;
	};
	
}

//这个方法是将一个数字作为参数,然后返回它的中文格式的数字,注意,只是一位数的数字。
function fromNumberToChinese(numbers)
{
	for (var i=0; i<normalNumberArray.length; i++)
	{
		if (numbers == normalNumberArray[i])
		{
			return chineseNumberArray[i];
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值