当我们想要通过js获取某一特定时间的时间戳时,会通过给date对象传参再通过getTime函数来获取,传递的参数格式也有不同形式。有些时候,可能会因为自己传入参数的格式不正确而导致date对象invalid,进而导致逻辑出现错误。

date对象传递的参数主要有字符串以及年月日等的数字,如下:

new Date( year, month, date, hrs, min, sec)

参数说明:   year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;   month的值域为0~11,0代表1月,11表代表12月;   date的值域在1~31之间;   hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;   min和sec的值域在0~59之间。   例 Date day=new Date(11,3,4);   //day中的时间为:04-Apr-11 12:00:00 AM

这种方法参数的容错率好,即使超出正常的数值范围也能正确的转化;其次,各浏览器解析的兼容性比较好。可以兼容ie浏览器。

new Date(“year/month/date hrs:min:sec”)

参数说明: hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;   min和sec的值域在0~59之间。

chrome浏览器对参数的容错比较好,safari、ie、iphone手机等对超出值域的时分秒解析时会报错。如果是24点的就直接写次日的0点。

当然直观的将日期的字符串转化为date对象可以使得代码更易读,对于不是自己写的日期字符串,年月日可能是用“—”或者“/”隔开,可以用一个简单的函数做下处理再去生成date对象,如

function newDate(strdate) {
    var arr = strdate.split(/[- : \/]/);
    date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
    return date;
}

最新文章

  1. 如何把Spring制作成jar包,然后在项目里运行。
  2. mysql动态行转列
  3. adb devices指令实例讲解
  4. HDU 4666 Hyperspace(曼哈顿距离)
  5. java类中定义接口
  6. Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml(转)
  7. Objective-C,复合类,Composition
  8. ios开发之简单实现loading动画效果
  9. 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
  10. [bzoj4883][Lydsy2017年5月月赛]棋盘上的守卫
  11. python设计模式第二十四天【命令模式】
  12. SQL Server 公用表表达式(CTE)实现递归
  13. 百度地图infoWindow圆角处理
  14. Thrift 安装及使用
  15. Django框架----Form组件
  16. 设计模式之工厂方法(FactoryMethod)模式
  17. 【linux】环境变量
  18. duilib 的IE浏览器控件去边框和去滚动栏的代码
  19. excel 技能收集
  20. ASP.NET 构建高性能网站 第1篇

热门文章

  1. 【Python】使用Python处理RAW格式图片,并根据实际情况完成分组打包发送
  2. 【分享】《美国数学本科生,研究生基础课程参考书目(个人整理)》[DJVU][VERYCD]
  3. 《梁宁·产品思维30讲》课程学习笔记(内含全套音频+ppt资料
  4. Qt自定义委托在QTableView中绘制控件、图片、文字
  5. Linux系统下查找最近修改过的文件
  6. java -cp 用法介绍
  7. 【Java/JDBC】利用ResultSetMetaData从数据库的某表中获取字段信息并存到csv文件
  8. 使用.NET Framework开发IIS 7.0模块和处理程序拦截请求实现跳转
  9. Windows7下IIS+php配置教程
  10. 一百二十九:CMS系统之七牛云存储介绍和配置