嗨,我正在编写一个代码,该代码可以显示当前时间和登录时间之间的星期间隔,
我添加了一个可以节省登录时间的功能。
parseInt
答案 0 :(得分:0)
这将帮助您。我使用此条件从输入日期中获取了天数,并检查是否可以运行7天。
call conditionForWeek(){
calendarToday = Calendar.getInstance();
formatInstallDate = new SimpleDateFormat(FORMAT_DATE_DD_MMM_YY, Locale.ENGLISH);
currentDate = formatInstallDate.format(calendarToday.getTime());
installDate = PreferencesManager.getInstance().getString(USER_DATE_OF_INSTALL);
int differenceInDate = PregnancyAppUtils.getDaysBetweenDates(currentDate, installDate);
if (differenceInDate > 0 && differenceInDate % 7 == 0) {
CallYourConditionHere();
}
}
//This method will calculate difference in days and return the difference in days
@SuppressLint("SimpleDateFormat")
public static int getDaysBetweenDates(String currentDate, String installDate) {
formatConversion = new SimpleDateFormat(FORMAT_DATE_DD_MMM_YY);
try {
Date dateCurrent = formatConversion.parse(currentDate);
Date dateAfterSevenDays;
//take care of previous app version's date formats
try {
dateAfterSevenDays = formatConversion.parse(installDate);
} catch (ParseException e) {
dateAfterSevenDays = getCalObjFromDefaultDate(installDate).getTime();
}
differenceInDate = dateCurrent.getTime() - dateAfterSevenDays.getTime();
days = (int) (differenceInDate / (1000 * 60 * 60 * 24));
} catch (ParseException e) {
e.printStackTrace();
}
return days;
}
答案 1 :(得分:0)
以下方法计算两个日期之间的星期数。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = dateFormat.parse("2019-01-01");
Date endDate = dateFormat.parse("2019-01-29");
int noOfWeek = calculateWeekNo(startDate, endDate);
//Option 1
public int calculateWeekNo(Date start, Date end) {
Calendar cal = new GregorianCalendar();
cal.setTime(start);
int weeks = 0;
while (cal.getTime().before(end)) {
cal.add(Calendar.WEEK_OF_YEAR, 1);
weeks++;
}
return weeks;
}
// Option 2
public static int calculateWeekNo(Date start, Date end) {
Calendar a = new GregorianCalendar();
Calendar b = new GregorianCalendar();
a.setTime(start);
b.setTime(end);
return b.get(Calendar.WEEK_OF_YEAR) - a.get(Calendar.WEEK_OF_YEAR);
}