我已将milliseconds
的日期格式和时间格式转换为milliseconds
。我的当前时间超过13
digits
。 CurrentTime= 1357755780000
,StartingTime=1357602840
,EndingTime=1357756140
但是当我在下面的代码中进行比较时,if
部分未执行,只执行else
部分。
我的代码中有错误吗?我想将currentTime设为10位数。所以我认为,将日期格式转换为毫秒是错误的。
String toParse = getDateorTime(1) + " " + getDateorTime(2);
long currentTime=0,startingTime=0,endingTime=0,milliseconds=0;
try
{
dateFormater = new SimpleDateFormat("yyyy/MMM/dd hh:mm");
Date date = null;
try {
date = dateFormater.parse(toParse);
date.setTime(milliseconds);
}catch (Exception e) {
System.out.println("\n Error in date parsing"+e.toString());
}
currentTime = (date.getTime());
start=Long.parseLong((cursor.getString(5).trim()));
end=Long.parseLong((cursor.getString(6).trim()));
}catch (ParseException pe) {
pe.printStackTrace();
}
if((currentTime>=startingTime)&&(currentTime<=endingTime))
{
//
}
答案 0 :(得分:0)
根据您的示例,您在SECONDS中实际拥有startingTime
和endingTime
,而您在MILLISECONDS中将其与currentTime
进行比较。简单地将第二次乘以1,000,如下所示:
if((currentTime>=startingTime*1000L)&&(currentTime<=endingTime*1000L))
答案 1 :(得分:0)
简单地除以1000
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTimeInMillis()/1000);
答案 2 :(得分:0)
将长值转换为字符串,如果长度为> 10,则只需对值(0,10)进行子串,然后您也可以使用字符串.equals或将它们转换为long以进行比较。