将日期毫秒解析为天、小时、分钟
Parse date milliseconds to days,hours,minutes
我试图解析一个字符串到日期,然后从毫秒中获取天数、小时数和分钟数。到目前为止,我正在解析此字符串:2015-03-01 00:00:00
,并且我正在使用此代码进行处理:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date inputDate = dateFormat.parse(data.get(position).getValidTo());
long ms = inputDate.getTime();
现在,在这之后我试图通过这样做获得天数、小时数和分钟数:
mins=(ms/(1000*60))%60;
hours=(ms/(1000*60*60))%24;
days=(ms/(1000*60*60*24));
当我显示它时,我得到了这个:
16494Days : 22 hours : 58 minutes
,你看今天是2月16日,过期时间是3月1日。
这里有什么问题?
试试这个来获取星期几
Calendar c = Calendar.getInstance();
c.setTime(yourDate);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
获取日历以获取这些信息:
Calendar c = Calendar.getInstance();
c.setTime(inputDate );
days =c.get(Calendar.DAY_OF_MONTH);
hours= c.get(Calendar.HOUR_OF_DAY);
mins = c.get(Calendar.MINUTE);
实际上你需要得到当前日期和输入日期之间的差异。
之后你可以像这样执行这些计算
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date inputDate = dateFormat.parse(data.get(position).getValidTo());
long ms = inputDate.getTime();
long currentMilliSeconds=System.currentTimeMillis();
ms = ms - currentMilliSeconds;
mins=(ms/(1000*60))%60;
hours=(ms/(1000*60*60))%24;
days=(ms/(1000*60*60*24));
我试图解析一个字符串到日期,然后从毫秒中获取天数、小时数和分钟数。到目前为止,我正在解析此字符串:2015-03-01 00:00:00
,并且我正在使用此代码进行处理:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date inputDate = dateFormat.parse(data.get(position).getValidTo());
long ms = inputDate.getTime();
现在,在这之后我试图通过这样做获得天数、小时数和分钟数:
mins=(ms/(1000*60))%60;
hours=(ms/(1000*60*60))%24;
days=(ms/(1000*60*60*24));
当我显示它时,我得到了这个:
16494Days : 22 hours : 58 minutes
,你看今天是2月16日,过期时间是3月1日。
这里有什么问题?
试试这个来获取星期几
Calendar c = Calendar.getInstance();
c.setTime(yourDate);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
获取日历以获取这些信息:
Calendar c = Calendar.getInstance();
c.setTime(inputDate );
days =c.get(Calendar.DAY_OF_MONTH);
hours= c.get(Calendar.HOUR_OF_DAY);
mins = c.get(Calendar.MINUTE);
实际上你需要得到当前日期和输入日期之间的差异。 之后你可以像这样执行这些计算
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date inputDate = dateFormat.parse(data.get(position).getValidTo());
long ms = inputDate.getTime();
long currentMilliSeconds=System.currentTimeMillis();
ms = ms - currentMilliSeconds;
mins=(ms/(1000*60))%60;
hours=(ms/(1000*60*60))%24;
days=(ms/(1000*60*60*24));