js date对象传参获取特定日期的时间戳

当我们想要通过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;
}

原文地址:https://www.cnblogs.com/csuwujing/p/10332600.html

时间: 2024-12-30 02:35:28

js date对象传参获取特定日期的时间戳的相关文章

js Date对象总结

Date在js中和Array类似,都是拥有自己的特殊方法的特殊对象. 由于平常用到Date着实不多,对它的了解颇浅.上周被问到怎么样获取某年某个月的天数,我当时想了一会儿,回答说有两种,一种自己写判断闰年的逻辑,每个月天数分两种情况存数组,一种是利用js Date对象的特性(其实是他总结的...).不过具体用到什么特性我答不上来.现在既然想起来了,也学习总结一下好了. 1.Date get和set系列 (注:getTime()具体的参照时间为1970年1月1日8点0分0秒) 所有的set对应都有

//js date对象常用方法

//js date对象常用方法//创建事件对象var now = new Date(); //不传参情况下默认返回当前时间//获取年var y=now.getFullYear();//获取月var m=now.getMonth()+1;//返回0-11//获取日var d= now.getDate();//获取小时var h =now.getHours();//获取分钟var i =now.getMinutes();//获取秒var s =now.getSeconds();//获取星期几var

关于在Safari浏览器中对js Date对象的支持

申请博客好几个月了,一直想写一些东西但是总觉着自己写不好,就一直搁浅了.废话不多说,进入正题! ios中和Safari浏览器中对js Date对象的支持 1.问题情形是这样的,需要在特定的时间显示不同的内容. 解决办法有两种: 1.通过后台获取服务器的时间. 在返回给前端标志,前端通过模板也好,通过其他方式进行判断也好,显示不同的内容.这个我们不管... 2.通过本地获取系统时间显示不同的内容. 我采用的就是这种方式,但是这里就出现了问题.附上代码 function setContentWith

c++代码赏析之类对象传参

#include <iostream> using namespace std; class A { private: int x; public: A():x(0) { x = 0; cout << "construct" << endl; } A(const A &a) { x = a.x; cout << "construct copy" << endl; } ~A(){ cout <&

datasnap远程方法支持自定义对象传参

有同仁需要远程方法传输自定义的数据类型,他以为要自己写代码会很复杂,其实DATASNAP早就为我们想到了. datasnap的数据序列和还原真是无与伦比的强大,其远程方法支持自定义对象传参,DATASNAP会自动使用JSON序列和还原自定义的对象. 1)自定义一个对象 type TMyInfo = class(TObject) public AccountNo: string; SQL: string; Params: string; RecsMax: Integer; end; 2)服务端远程

SQL存储过程中,传参获取指定条数的记录

假设传入参数 为 @TopCount 直接写 Select top @topcount * from table 是不行的. 可以考虑使用SET ROWCOUNT 示例如下 ALTER PROCEDURE [dbo].[P_CSM_SelectHandleResult] @TopCount int=50 AS BEGIN SET NOCOUNT ON; set rowcount @TopCount SELECT * from HandleResult order by HandleIndex d

js Date对象和数字对象

<script type="text/javascript"> alert(new Date.toLocaleString()); </script> 以本地语言 弹出 当前时间 new 创建时间对象 默认为当前时间 html页面从上向下执行 超链接执行javascript:例如 删除的点击事件 javascript 里面用单引号 双引号都行. <a href="javascript:if(confirm('真的要删除么?'){ //dosome

js 日期对象Date以及传参

创建一个日期对象,日期对象可传参new Date() 创建日期对象getFullYear() 获取年份 getMonth() 获取月份 返回值是 0(一月) 到 11(十二月) 之间的一个整数 getDate() 获取日期(多少号) getDay() 获取星期数 返回值是 0(周日) 到 6(周六) 之间的一个整数. getHours() 获取小时 返回值是 0 (午夜) 到 23 (晚上 11 点)之间的一个整数 getMinutes() 获取分钟数 返回值是 0 ~ 59 之间的一个整数 g

JS基础之传参(值传递、对象传递)

一.概念 我们需了解什么是按值传递(call by value),什么是按引用传递(call by reference).在计算机科学里,这个部分叫求值策略(Evaluation Strategy).它决定变量之间.函数调用时实参和形参之间值是如何传递的. 按值传递 VS. 按引用传递 按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本.修改形参的值并不会影响实参. 按引用传递(call by reference)时,函数的形参接收实参的隐式引用,而不再