1。 判断当前的时间戳是否是昨天
public static boolean isYesterday(long timestamp){
Calendar c = Calendar.getInstance();
clearCalendar(c, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND);
c.add(Calendar.DAY_OF_MONTH, -1);
long firstOfDay = c.getTimeInMillis(); // 昨天最早时间
c.setTimeInMillis(timestamp);
clearCalendar(c, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND); // 指定时间戳当天最早时间
return firstOfDay == c.getTimeInMillis();
}
private static void clearCalendar(Calendar c, int... fields) {
for (int f : fields) {
c.set(f, 0);
}
}
这是官方jdk中的函数体现
- 获取当前月和日的时间点
private String getDateTime(long timeStamps){
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timeStamps);
StringBuilder builder = new StringBuilder();
builder.append(calendar.get(Calendar.MONTH)+1).append("月");
builder.append(calendar.get(Calendar.DAY_OF_MONTH)).append("日");
return builder.toString();
}
- 获取周几的时间点
private String getWeekDate(long time) {
String Week = "周";
Calendar c = Calendar.getInstance();
c.setTime(new Date(time));
if (c.get(Calendar.DAY_OF_WEEK) == 1) {
Week += "天";
}
if (c.get(Calendar.DAY_OF_WEEK) == 2) {
Week += "一";
}
if (c.get(Calendar.DAY_OF_WEEK) == 3) {
Week += "二";
}
if (c.get(Calendar.DAY_OF_WEEK) == 4) {
Week += "三";
}
if (c.get(Calendar.DAY_OF_WEEK) == 5) {
Week += "四";
}
if (c.get(Calendar.DAY_OF_WEEK) == 6) {
Week += "五";
}
if (c.get(Calendar.DAY_OF_WEEK) == 7) {
Week += "六";
}
return Week;
}
4. 根据年月日来获取时间戳
private long getCalendarData(){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = df.parse("2017-08-07");
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.getTimeInMillis();
}
5. 判断是否是本周
public static boolean isThisWeek(long time)
{
Calendar calendar = Calendar.getInstance();
int currentWeek = calendar.get(Calendar.WEEK_OF_YEAR);
calendar.setTime(new Date(time));
int paramWeek = calendar.get(Calendar.WEEK_OF_YEAR);
if(paramWeek==currentWeek){
return true;
}
return false;
}
//判断选择的日期是否是本月
public static boolean isThisMonth(long time)
{
return isThisTime(time,"yyyy-MM");
}
private static boolean isThisTime(long time,String pattern) {
Date date = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
String param = sdf.format(date);//参数时间
String now = sdf.format(new Date());//当前时间
if(param.equals(now)){
return true;
}
return false;
}
//判断选择的日期是否是今天
public static boolean isToday(long time)
{
return isThisTime(time,"yyyy-MM-dd");
}