一、使用Date类创建日期对象
Date date1 = new Date(2017, 5, 20)二、通过Calendar获得当前日期
Date nowCalendar c = Calendar.getInstance()
now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH))
三、使用Date类的after()方法判断一个日期是否在另一个日期的后面
if(date1.after(now)) {System.out.println("超过了今天")
}
else {
System.out.println("没有超过今天")
}
四、完整的Java程序
import java.util.Calendarimport java.util.Date
public class Main {
public static void main(String[] args) {
Date date1 = new Date(2017, 5, 20)
Date now
Calendar c = Calendar.getInstance()
now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH))
if(date1.after(now)) {
System.out.println("超过了今天")
}
else {
System.out.println("没有超过今天")
}
}
}
五、运行测试
没有超过今天如果只是统计一天中系统登录次数,不用精确到具体用户的。。。。可以按日期生成日志文件,记录登录数字就可以啦。。。。
截取当前登录日期做为文件名,有日志文件的修改次数,没有的,创建文件。
java的 日期型数据 是可以比较大小的。直接 用
myDate>todayStartTime and maDate <todayEndTime
这样就能比较的。 。如果 为 true 就是在这一天内的。
public static void main(String[] args) {SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd")
Calendar firstDayOfWeek = Calendar.getInstance(Locale.getDefault())
firstDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY)
int day = firstDayOfWeek.get(Calendar.DAY_OF_WEEK)
firstDayOfWeek.add(Calendar.DATE, -day+1+1)// 后面的+1是因为从周日开始
// 本周一的日期
System.out.println(format.format(firstDayOfWeek.getTime()))
Calendar lastDayOfWeek = Calendar.getInstance(Locale.getDefault())
lastDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY)
day = lastDayOfWeek.get(Calendar.DAY_OF_WEEK)
lastDayOfWeek.add(Calendar.DATE, 7-day+1)
// 本周星期天的日期
System.out.println(format.format(lastDayOfWeek.getTime()))
}
这一段代码可以获取本周一的日期、本周日的日期,比如本周一为20180702、本周日为20180708。只要判断给定的日期数字是否在[20180702, 20180708]范围内即可
以上的是判断日期是否是本周的方法,至于本日和本月就很好判断了,直接将日期格式化为20180702类似的数字,然后与今天进行比较即可判断是否本日,与本月的字符串201807进行比较,看字符串的前面6个字符是否equals即可