求问getTime()和parse()的区别

求问getTime()和parse()的区别,第1张

getTIme()方法是把一个date对象转成毫秒;parse方法是把一个时间格式的字符串转换成毫秒。

parse:解析一个包含日期的字符串,并返回该日期与1970年1月1日午夜之间所间隔的毫秒数。

de>Dateparse(dateVal)de

其中必选项 dateVal 是一个包含以诸如 "Jan 5, 1996 08:47:00" 的格式表示的日期的字符串,或者是一个从 ActiveX(R) 对象或其他对象中获取的 VT_DATE值。

说明:

parse方法返回一个整数值,这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。

parse方法是 Date 对象的一个静态方法。正因为它是一个静态方法,它是通过下面例子中所示的方法被调用的,而不是作为一个已创建 Date 对象的一个方法被调用。

1)传进Calendar对象

/ //计算两个时间之间相隔天数

@param startday 开始时间

@param endday 结束时间

@return

/

public int getIntervalDays(Calendar startday,Calendar endday){

//确保startday在endday之前

if(startdayafter(endday)){

Calendar cal=startday;

startday=endday;

endday=cal;

}

//分别得到两个时间的毫秒数

long sl=startdaygetTimeInMillis();

long el=enddaygetTimeInMillis();

long ei=el-sl;

//根据毫秒数计算间隔天数

return (int)(ei/(1000606024));

}(2)传进Date对象

/ //计算两个时间之间相隔天数

@param startday 开始时间

@param endday 结束时间

@return

/

public int getIntervalDays(Date startday,Date endday){

//确保startday在endday之前

if(startdayafter(endday)){

Date cal=startday;

startday=endday;

endday=cal;

}

//分别得到两个时间的毫秒数

long sl=startdaygetTime();

long el=enddaygetTime();

long ei=el-sl;

//根据毫秒数计算间隔天数

return (int)(ei/(1000606024));

}同理,可以用相同的方法计算出任意两个时间相隔的小时数,分钟数,秒钟数等

注:以上方法是完全按时间计算,有时并不能令人满意,如:

startday="2006-10-11 20:00:00"

endday="2006-10-12 8:00:00"

计算结果为0,但是我们也许相让计算结果变为1,此时可以用如下方法实现:

在传参之前,先设定endday的时间,如:

enddayset(CalendarHOUR_OF_DAY, 23);

enddayset(CalendarMINUTE, 59);

enddayset(CalendarSECOND, 59);

enddayset(CalendarMILLISECOND, 59);

这样再传进去startday,endday,则结果就如我们所愿了。不过,如果嫌以上方法麻烦,可以参考以下方法:

(3)改进精确计算相隔天数的方法

public int getDaysBetween (Calendar d1, Calendar d2) {

if (d1after(d2)) { // swap dates so that d1 is start and d2 is end

javautilCalendar swap = d1;

d1 = d2;

d2 = swap;

}

int days = d2get(CalendarDAY_OF_YEAR) - d1get(CalendarDAY_OF_YEAR);

int y2 = d2get(CalendarYEAR);

if (d1get(CalendarYEAR) != y2) {

d1 = (Calendar) d1clone();

do {

days += d1getActualMaximum(CalendarDAY_OF_YEAR);//得到当年的实际天数

d1add(CalendarYEAR, 1);

} while (d1get(CalendarYEAR) != y2);

}

return days;

}

可以获取当前日期。Datenow()是javascript中的内置函数,它返回自1970年1月1日00:00:00 UTC以来经过的毫秒数。

因为now()是Date对象的静态方法,所以它将始终用作datenow()。Date 对象的静态方法:Datenow()、 Dateparse()等。

说明:返回当前日期和时间的Date对象与“1970/01/01 00:00:00”之间的毫秒值(北京时间的时区为东8区,起点时间实际为:“1970/01/01 08:00:00”) 。

参数:无

返回值:

{int} :当前时间与起始时间之间的毫秒数。

示例:   consolelog(Datenow());  // => 1419431519276

获取当前日期

<script>

var d = Date(Datenow())。

// 转换日期字符串中的毫秒数

a = dtoString()。

// 输出当前日期

documentwrite("当前日期是:" + a)。

</script>

输出:

当前日期是:Wed Jul 10 2019 11:53:04 GMT+0800 (中国标准时间)。

Dateparse(dateStr)说明:把字符串转换为Date对象 ,然后返回此Date对象与“1970/01/01 00:00:00”之间的毫秒值(北京时间的时区为东8区,起点时间实际为:“1970/01/01 08:00:00”)。

参数:

dateStr {string} :可转换为Date对象的字符串(可省略时间)。

字符串的格式主要有两种:1) yyyy/MM/dd HH:mm:ss (推荐):若省略时间,返回的Date对象的时间为 00:00:00。

2) yyyy-MM-dd HH:mm:ss :若省略时间,返回的Date对象的时间为 08:00:00(加上本地时区)。若不省略时间,此字符串在IE中返回NaN(非数字)!

返回值:

{int} 返回转换后的Date对象与起始时间之间的毫秒数。

示例:

1、consolelog(Dateparse( '2014/12/25 12:00:00' ));  // => 1419480000000。

2  、consolelog(Dateparse( '2014-12-25 12:00:00' ));  // => 1419480000000  (注意:此转换方式在IE中返回NaN!)。

Date today = new Date();

//获取年份:

alert(todaygetFullYear());

//setFullYear是设置年份

//获取月份

alert(todaygetMonth()+ 1);

通过 这个方法 SystemcurrentTimeMillis();

先准备好一个全局变量。Long s_time = 0;

在时间点1时 s_time = SystemcurrentTimeMillis();

在时间点2时 取临时变量 Long temp = SystemcurrentTimeMillis();

然后通过 temp - s_time 即是两个时间差,这个值是毫秒的。除以1000 就是秒。

以上就是关于求问getTime()和parse()的区别全部的内容,包括:求问getTime()和parse()的区别、用Java计算当前时间对象与形参传入时间对象之间间隔秒数的方法、date.now()获取到什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9332616.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存