字符串转为Date类型

1.首先了解创建Date类型的方法,找合适的参数进行创建。主要有下面几种

new Date("month dd,yyyy hh:mm:ss")<span style="font-size:14px;">;</span> 
new Date("month dd,yyyy"); 
new Date(yyyy,mth,dd,hh,mm,ss); 
new Date(yyyy,mth,dd); 
new Date(ms); 

或者通过setTime() 方法以毫秒设置 Date 对象。

dateObject.setTime(millisec)
参数 描述 millisec 必需。要设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。这种类型的毫秒值可以传递给 Date() 构造函数,可以通过调用 Date.UTC() 和 Date.parse() 方法获得该值。以毫秒形式表示日期可以使它独立于时区。

而通过Date.parse方法就可以获取到毫秒数。

Date.parse()函数的返回值为Number类型,返回该字符串所表示的日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。 语法
Date.parse(datestring) 参数 描述 datestring 必需。表示日期和时间的字符串。

但是它接受的参数是有限制的
下面这些规则控制着parse()方法所能成功分析的字符串:

短日期可使用/日期分隔符,但是必须符合月/日/年的格式,例如7/20/96或6/15/2008。 以July 10
1995形式表示的长日期中的年、月、日可以按任何顺序排列,而且年份可以用2位数或4位数的形式表示。如果使用2位数的形式来表示年份,则该年份必须大于或等于
70。 括号中的任何文本都被视为注释。这些括号可以嵌套。 逗号和空格被视为分隔符。允许使用多个分隔符。
月和日的名称必须具有两个或两个以上的字符。如果两个字符所组成的名称不唯一,则该名称将解析为最晚的一个匹配日期。例如,Ju解析为七月(July),而不是六月(June)。Chrome不支持”Ju”这种写法。
如果提供一个日期,该日期中所说明的星期数与根据此日期中其他部分所确定的星期数不相符,则此日期中的星期数将被忽略。例如,尽管 1996 年
11 月 9 日实际上是星期五,但Tuesday November 9 1996还是可以被接受并进行分析。但是结果的 Date
对象中包含的是Friday November 9 1996。 JavaScript处理所有的标准时区,以及协调通用时间 (UTC)
和格林威治标准时间 (GMT),例如:Thu, 07 Aug 2014 11:00:14 GMT。IE6 ~
IE8对UTC格式的支持程度非常低,IE9的支持也不全面。
用冒号分隔小时、分钟和秒,但所有这些内容并非都需要指定。10:、10:11和10:11:12都是有效的。 若使用的时钟是 24
小时计时的,那么将中午 12 点之后的时间指定为PM是错误的。例如,23:15 PM就是错误的。
包含无效日期的字符串是错误的。例如,一个包含两个年份或两个月份的字符串是错误的。

最后的代码是这样的:

<span style="font-family: SimHei; font-size: 18px;">var str="2011-02-02 11:10:23";//字符串类型字符串
var regEx = new RegExp("\\-","gi"); 
str=str.replace(regEx,"/"); //Date.parse支持的类型是/分隔符的
var milliseconds=Date.parse(str); 
var dependedDate=new Date(); 
dependedDate.setTime(milliseconds); //<span style="color: rgb(0, 128, 255); font-family: Consolas, 'Lucida Console', monospace; white-space: pre-wrap;">dependedDate=new Date(milliseconds); 两种方法都可以</span>
dependedDate.getFullYear();</span>

文章有部分定义参考其他文章,代码是自己写的,经过测试。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值