| 由于 JavaScript 没有基本的日期数据类型,所以只能显式地创建 Date 对象,方法如下:如果希望一开始时就设定特定日期或时间,那么可以直接指定: 
 [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
        var mydate = new Date( "13 Dec 2011 23:58:00" );
        document.write( mydate );
    </script>
 运行后,可能会看到类似下面的信息(浏览器不同而显示结果稍有区别,这里是 Chrome 的输出):
 
 上面 Date 中括号里的时间不同的国家有不同的顺序,中国的习惯是 YY/MM/DD ,美国的习惯是 MM/DD/YY,欧洲的习惯是 DD/MM/YY 。Tue Dec 13 2011 23:58:00 GMT+0800 (中国标准时间)
 
 如果使用简写的名字来指定月份(如 Jan,Dec 等),则可以指定任意的顺序:
 [code=javascript]
 var someDate = new Date( "13 Dec 2011" );
 var someDate = new Date( "Dec 13 2011" );
 var someDate = new Date( "2011 13 Dec" );[/mw_shl_code]
 
 
 实际上,Date 对象还有许多参数:
 
 注意,上面括号里的参数都分别用逗号隔开,而不是放在一对双引号里整个指定。如果按照上面的形式使用参数,那么就必须按照顺序逐个指定,比如可以:var someDate = new Date( aYear, aMonth, aDate, anHour, aMinute, aSecond, aMillisecond )
 而不能:var mydate = new Date( 2011, 11, 14, 23 );
 var mydate = new Date( 2011, 11, , 23 );
 还有一个地方需要注意的是:JavaScript 是从 0 开始计算月份的,如果上面指定的是:
 
 那么就会显示成:var mydate = new Date( 2011, 12, 13, 23 );
 这样就跳到 2012 年的 1 月份中去了。Fri Jan 13 2012 23:00:00 GMT+0800 (中国标准时间)
 
 测试代码:
 
 [JavaScript] 纯文本查看 复制代码 //创建一个新的 date 对象
    var mydate = new Date( "14 Dec 2011 0:21");
    
    //获取时间元素(分钟,年,月,日)
    document.write( "Minutes = " + mydate.getMinutes() + "<br>" );
    document.write( "Year = " + mydate.getFullYear() + "<br>" );    
    document.write( "Month = " + mydate.getMonth() + "<br>" );
    document.write( "Date = " + mydate.getDate() + "<br>" );
 相应于 getMinutes() 中的 get 是获得分钟,那么要设置分钟则是 setMinutes(),设置天数是 setDate() 等等。
 
 
 
 可以使用 toString() 方法将一个 Date 对象里的时间元素转换为字符串输出,如下面的测试代码:
 [code=javascript]<script type="text/javascript">
 //提示用户输入一个时间
 var originalDate = prompt( "Enter a date (Day, Name of the Month, Year)", "31 Dec 2011" );
 
 //使用新的日期覆盖原始的日期
 var originalDate = new Date( originalDate );
 
 //提示用户输入需要增加的天数
 var addDays = Number( prompt( "Enter number of days to be added", "1" ) );
 
 //设置一个新的天数
 originalDate.setDate( originalDate.getDate() + addDays );
 
 document.write( originalDate.toString() );
 </script>[/mw_shl_code]
 运行后在确认两个对话框中的内容后输出:
 上面程序是为原始时间再增加一天,然后输出变更后的日期。Sun Jan 01 2012 00:00:00 GMT+0800 (中国标准时间)
 如果将上面的 toSring() 方法改成 toDateString() ,那么会产生好一个格式化好的字符串,比如:
 |