当前位置: 首页 > 图文教程 > 网络编程 > Javascript > FireFox的getYear的注意事项

Javascript
javascript 支持链式调用的异步调用框架Async.Operation
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
javascript dragable的Move对象
同一个表单 根据要求递交到不同页面的实现方法小结
Extjs ajax同步请求时post方式参数发送方式
实现连缀调用的map方法(prototype)
javascript Array.remove() 数组删除
asp(javascript)全角半角转换代码 dbc2sbc
jquery select(列表)的操作(取值/赋值)
JavaScript 乱码问题
js正确获取元素样式详解
JQuery 小练习(实例代码)
JavaScript 的方法重载效果
JavaScript 变量作用域及闭包
jQuery 解析xml文件
javascript 当前日期加(天、周、月、年)
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
上传图片时JS自动显示图片

Javascript 中的 FireFox的getYear的注意事项


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 301 ::
收藏到网摘: n/a

上个礼拜在整理以前写的一个日历脚本,FF下对年显示的总是有问题,搞了郁闷s。例如如下脚本:在IE下提示“2007”——没有问题!可是在FF下却提示“107”?
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

Google了一下,才明白在FF的getYear返回的是“当前年份-1900”的值(传说以前一直这样处理),而NB的MS却当Year>=2000,直接把减去的1900又加回来了。呵呵,再次佩服IE的容错能力和肚量^_^
最直接的解决办法是 year = (year < 1900) ? (1900 + year) : year;
当然你要判断Browser类型再分类处理也没有问题。
最合理的是将getYear用getFullYear或者getUTCFullYear去调用,你可以改变上面Code框中的相应代码看看效果。