您的位置:首页 > Web前端 > JavaScript

JavaScript Date及Number对象

2016-03-30 16:16 344 查看
可以说,JS中所有事物都是对象。这是一门基于对象的语言。里面的字符串,数组,函数,日期乃至数字都是对象。对象实际上就是一种带有属性和方法的数据类型。

Date对象

Number对象

Date对象

日期和时间,在Web应用中随处可见,也必不可少。JS脚本内置了Date对象,该对象为我们提供了一些列操作时间和日期的方法。

JS的时间标准

构造当前时间对象

获取时间对象信息

设置时间对象信息

日期信息转换为字符串

JS的时间标准

以GTM时间1970年1月1日零点为标准零点,JS脚本中采用UNIX系统存储的时间,存储从标准零点到当前系统时间的毫秒数。注意,JS在读取当前时间时,依赖于客户端的系统时间,如果客户端系统时间有误,可能会带来一定的问题。

构造当前时间对象

构造当前时间对象主要有以下4中方法:

var MyDate = new Date()
var MyDate = new Date(milliseconds)
var MyDate = new Date(string)
var MyDate = new Date(y, m, d, h, min, sec, ms)


以上第一种方法生成一个空的Date对象,默认情况下代表当前客户端时间。

第二种方法传入唯一的参数milliseconds,创建距离标准时间零点milliseconds毫秒的时间对象。

第三种方法传入特定格式的字符串,创建由该字符串指定日期的Date对象。

第四种方法分别传入年、月、日、小时、分钟、秒、毫秒。

获取时间对象信息

获取时间信息常用的方法有:

getTime()  //返回标准零点到当前系统时间的毫秒数
getFullYear()  //返回四位数的年份
getMonth()  //返回月份,注意1月对应数字0。
getDate()  //返回日,1号对应数字1。
getHours()  //返回二十四小时制的小时数
getMinutes()  //返回分钟数
getSeconds()  //返回秒数
getMilliseconds()  //返回毫秒数
getDay()  //返回星期数,注意周日对应数字0,周六对应数字6。


<script language="JavaScript" type="text/javascript">
<!--
function MyTimer() {
var MyDate = new Date();

var milliseconds = MyDate.getTime();

var y = MyDate.getFullYear();
var m = MyDate.getMonth();
var d = MyDate.getDate();
var h = MyDate.getHours();
var min = MyDate.getMinutes();
var s = MyDate.getSeconds();
var ms = MyDate.getMilliseconds();

var week = MyDate.getDay();

var msg = "milliseconds" + " " + milliseconds + "\n" +
"y" + " " + y + "\n" +
"m" + " " + m + "\n" +
"d" + " " + d + "\n" +
"h" + " " + h + "\n" +
"min" + " " + min + "\n" +
"s" + " " + s + "\n" +
"ms" + " " + ms + "\n" +
"week" + " " + week;

alert(msg);
}
-->
</script>


输出如下:



特别注意,getMonth()返回的月份,1月对应数字0,二月三月依次类推。getDay()返回的星期数,周日对应数字0,周一周二依次类推。

设置时间对象信息

和获取当前时间信息对应,要设置当前时间信息,只需要把“获取”方法的get换为set即可。

setTime(ms)  //以距离标准零点的毫秒数设置Date对象
setFullYear()  //四位数设置年份
setMonth()  //设置月份,注意1月对应数字0。
setDate()  //设置日,1号对应数字1。
setHours()  //设置二十四小时制的小时数
setMinutes()  //设置分钟数
setSeconds()  //设置秒数
setMilliseconds()  //设置毫秒数
setDay()  //设置星期数,注意周日对应数字0,周六对应数字6。


示例:

<script language="JavaScript" type="text/javascript">
<!--
function MyTimer() {
var MyDate = new Date();

var y = MyDate.setFullYear(2016);
var m = MyDate.setMonth(0);
var d = MyDate.setDate(31);
var h = MyDate.setHours(23);
var min = MyDate.setMinutes(3);
var s = MyDate.setSeconds(5);
var ms = MyDate.setMilliseconds(344);

var y = MyDate.getFullYear();
var m = MyDate.getMonth();
var d = MyDate.getDate();
var h = MyDate.getHours();
var min = MyDate.getMinutes();
var s = MyDate.getSeconds();
var ms = MyDate.getMilliseconds();

var week = MyDate.getDay();

var msg = "y" + " " + y + "\n" +
"m" + " " + m + "\n" +
"d" + " " + d + "\n" +
"h" + " " + h + "\n" +
"min" + " " + min + "\n" +
"s" + " " + s + "\n" +
"ms" + " " + ms + "\n" +
"week" + " " + week;

alert(msg);
}
-->
</script>


以上代码,我们设置了日期为2016年,1月,31号,此时系统会帮我们算出当前日期对应周日。输出如下:



日期信息转换为字符串

toString()  //返回当前时间字符串
toLocaleString()  //由客户端日期格式返回日期字符串,注意不是toLocalString()
toUTCString()  //以UTC格式返回日期字符串


为了体现出toString和toLocaleString的不同,在试验之前将本地时间显示模式改为了
下午 03:20 2016/3/30
。示例:

<script language="JavaScript" type="text/javascript">
<!--
function MyTimer() {
var MyDate = new Date();

var msg = "toString          " + MyDate.toString() + "\n" +
"toLocaleString     " + MyDate.toLocaleString() + "\n" +
"toUTCString       " + MyDate.toUTCString();

alert(msg);
}
-->
</script>


输出为:



再次强调,toLocaleString()方法不要误写为toLocalString()。

Number对象

创建Number对象

MAX_VALUE属性

MIN_VALUE属性

POSITIVE_INFINITY属性

NEGATIVE_INFINITY属性

toString方法

创建Nubmer对象

var MyDate = new Number()  //创建默认值为0的Number对象
var MyDate = new Number(num)  //创建值为num的Number对象


MAX_VALUE属性

该属性表示脚本所支持的最大值,我们可以把它以及它的倒数打印出来:

<script language="JavaScript" type="text/javascript">
<!--
function MyNumber() {
var MyData = new Number(Number.MAX_VALUE);
var num = 1/MyData;
var msg = "MAX " + MyData + "\n" +
"1/MAX " + num;

alert(msg);
}
-->
</script>


输出:



MIN_VALUE属性

类比MAX_VALUE属性。

POSITIVE_INFINITY属性

表示正无穷大,注意正无穷大是一个数学上的概念,和脚本支持的最大数MAX_VALUE不是一回事。作为区分我们把它以及其倒数打印出来:

<script language="JavaScript" type="text/javascript">
<!--
function MyNumber() {
var MyData = new Number(Number.POSITIVE_INFINITY);
var num = 1/MyData;
var msg = "+INFINITY " + MyData + "\n" +
"1/+INFINITY " + num;

alert(msg);
}
-->
</script>


输出:



NEGATIVE_INFINITY属性

类比POSITIVE_INFINITY属性。

toString方法

该方法可以将一个Number对象转化为一个String对象,进而进行String对象的一系列操作。例如:

<script language="JavaScript" type="text/javascript">
<!--
function MyNumber() {
var MyData = new Number(56);
MyData = MyData.toString();
MyData = MyData.concat(" Peaples are there in China!");

alert(MyData);
}
-->
</script>


输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: