各种时间表达式,怎么创建成Date对象?

jasper_liu 2006-09-20 05:43:58
在JavaScript中,需要处理各种时间表示法,比如:


1。Thu, 31 Aug 2006 21:00:00 GMT
2。Thu, 31 Aug 2006 22:40:51 GMT+8
3。Sun, 03 Sep 2006 01:13:21 +0800
4。Wed, 30 Aug 2006 16:16:39 +0000
5。2006-09-02T12:52:35+08:00
6。2006年9月2日 0:00:00
7。2006-9-2 0:00:00


怎么从这些字符串创建时间对象?
我用了new Date(str),可是很多表示法不能够创建对象。

而且,更深一层的问题就是,如何支持从所有可能的表示法创建时间对象,同时还要兼容IE和firefox。

谢谢大虾了!
...全文
296 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
myvicy 2006-11-23
  • 打赏
  • 举报
回复
只能枚举常见的时间表示法,然后一一做对应的转化函数。
jasper_liu 2006-11-23
  • 打赏
  • 举报
回复
to seesharp(我给代码你给分) :
这个方法不可取.

一是时间允许,而是服务端同样有这个问题.C#都有。
seesharp 2006-10-05
  • 打赏
  • 举报
回复
是不是可以把时间字符串传到服务端去生成date对象
再用ajax取回来
wanghui0380 2006-10-05
  • 打赏
  • 举报
回复
mark
很难办

可以先到http://regexlib.com,找找有没合适的正则
jasper_liu 2006-10-03
  • 打赏
  • 举报
回复
d
ttzhangzhiwei 2006-09-21
  • 打赏
  • 举报
回复
mark
fantiny 2006-09-21
  • 打赏
  • 举报
回复
你这个问题难度太高,我们并不能保证用户输入的格式是什么样的。
即使平时看起来很常见的格式,程序也不支持。
自己写函数用字符串形式来解析,不能保证列举的完全。
xuStanly 2006-09-21
  • 打赏
  • 举报
回复
var today=new Date(<%=year(now)%>,<%=month(now) - 1%>,<%=day(now)%>);//取服务器时间

楼主是不是从数据库取数据时就进行一些转换?
jasper_liu 2006-09-21
  • 打赏
  • 举报
回复
说明一下,我不是要取服务器的时间,而是分析rss的时间,因为各种rss输出,就有很多种时间表达方法。
只能在javascript中作,需要进行一个时间比较。所以要生成Date对象。



确实是个高难度问题,请大虾帮忙。
zjsfdxbao 2006-09-20
  • 打赏
  • 举报
回复
看MSDN
Atwind 2006-09-20
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE="JavaScript">
<!--

var tt =new Date;

document.write (tt+"<br>");

document.write (tt.getYear() +"<br>");
document.write (tt.getMonth() +"<br>");
document.write (tt.getDate() +"<br>");


//-->
</SCRIPT>
mingxuan3000 2006-09-20
  • 打赏
  • 举报
回复
mark
Atwind 2006-09-20
  • 打赏
  • 举报
回复
new Date
后自已再对新的对象处理格式化等竺就行了~
mingxuan3000 2006-09-20
  • 打赏
  • 举报
回复
mark

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧