
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()获取到什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)