java判断今天,昨天,前天,不能用秒间隔的简单实例
作者:jingxian 时间:2021-07-27 23:01:35
实例如下:
一 json optString 解析的TimesTamp string
二 long dateSec = (long) (Double.valueOf(timestamp) * 1000);
三 Date date=new Date(dateSec);
四 getTimestampString(date);
public static String getTimestampString(Date paramDate) {
String str = null;
long l = paramDate.getTime();
Calendar localCalendar = GregorianCalendar.getInstance();
localCalendar.setTime(paramDate);
int year = localCalendar.get(Calendar.YEAR);
if(! isSameYear(year)){ //去年,直接返回
String paramDate2str = new SimpleDateFormat("yyyy MM dd", Locale.CHINA).format(paramDate);
return paramDate2str;
}
if (isSameDay(l)) {
int i = localCalendar.get(Calendar.HOUR_OF_DAY);
if (i > 17) {
str = "晚上 HH:mm";//HH表示24小时,hh表示12小时进制,
} else if ((i >= 0) && (i <= 6)) {
str = "凌晨 HH:mm";
} else if ((i > 11) && (i <= 17)) {
str = "下午 HH:mm";
} else {
str = "上午 HH:mm";
}
} else if (isYesterday(l)) {
str = "昨天 HH:mm";
} else if (isBeforeYesterday(l)) {
str = "前天 HH:mm";
} else {
str = "M月d日 HH:mm";
}
String paramDate2str = new SimpleDateFormat(str, Locale.CHINA).format(paramDate);
return paramDate2str;
}
。。。
// 获取 今天开始结束 时间
public static TimeInfo getTodayStartAndEndTime() {
Calendar localCalendar1 = Calendar.getInstance();
localCalendar1.set(Calendar.HOUR_OF_DAY, 0);
localCalendar1.set(Calendar.MINUTE, 0);
localCalendar1.set(Calendar.SECOND, 0);
localCalendar1.set(Calendar.MILLISECOND, 0);
Date localDate1 = localCalendar1.getTime();
long l1 = localDate1.getTime();
Calendar localCalendar2 = Calendar.getInstance();
localCalendar2.set(Calendar.HOUR_OF_DAY, 23);
localCalendar2.set(Calendar.MINUTE, 59);
localCalendar2.set(Calendar.SECOND, 59);
localCalendar2.set(Calendar.MILLISECOND, 999);
Date localDate2 = localCalendar2.getTime();
long l2 = localDate2.getTime();
TimeInfo localTimeInfo = new TimeInfo();
localTimeInfo.setStartTime(l1);
localTimeInfo.setEndTime(l2);
return localTimeInfo;
}
// 获取 昨天开始结束 时间
public static TimeInfo getYesterdayStartAndEndTime() {
Calendar localCalendar1 = Calendar.getInstance();
localCalendar1.add(Calendar.DAY_OF_MONTH, -1);//5
localCalendar1.set(Calendar.HOUR_OF_DAY, 0);//11
localCalendar1.set(Calendar.MINUTE, 0);//12
localCalendar1.set(Calendar.SECOND, 0);//13
localCalendar1.set(Calendar.MILLISECOND, 0);//Calendar.MILLISECOND
Date localDate1 = localCalendar1.getTime();
long l1 = localDate1.getTime();
Calendar localCalendar2 = Calendar.getInstance();
localCalendar2.add(Calendar.DAY_OF_MONTH, -1);//5
localCalendar2.set(Calendar.HOUR_OF_DAY, 23);//11
localCalendar2.set(Calendar.MINUTE, 59);//12
localCalendar2.set(Calendar.SECOND, 59);//13
localCalendar2.set(Calendar.MILLISECOND, 999);//Calendar.MILLISECOND
Date localDate2 = localCalendar2.getTime();
long l2 = localDate2.getTime();
TimeInfo localTimeInfo = new TimeInfo();
localTimeInfo.setStartTime(l1);
localTimeInfo.setEndTime(l2);
return localTimeInfo;
}
// 获取 前天开始结束 时间
public static TimeInfo getBeforeYesterdayStartAndEndTime() {
Calendar localCalendar1 = Calendar.getInstance();
localCalendar1.add(Calendar.DAY_OF_MONTH, -2);
localCalendar1.set(Calendar.HOUR_OF_DAY, 0);
localCalendar1.set(Calendar.MINUTE, 0);
localCalendar1.set(Calendar.SECOND, 0);
localCalendar1.set(Calendar.MILLISECOND, 0);
Date localDate1 = localCalendar1.getTime();
long l1 = localDate1.getTime();
Calendar localCalendar2 = Calendar.getInstance();
localCalendar2.add(Calendar.DAY_OF_MONTH, -2);
localCalendar2.set(Calendar.HOUR_OF_DAY, 23);
localCalendar2.set(Calendar.MINUTE, 59);
localCalendar2.set(Calendar.SECOND, 59);
localCalendar2.set(Calendar.MILLISECOND, 999);
Date localDate2 = localCalendar2.getTime();
long l2 = localDate2.getTime();
TimeInfo localTimeInfo = new TimeInfo();
localTimeInfo.setStartTime(l1);
localTimeInfo.setEndTime(l2);
return localTimeInfo;
}
private static boolean isSameDay(long paramLong) {
TimeInfo localTimeInfo = getTodayStartAndEndTime();
return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime());
}
private static boolean isYesterday(long paramLong) {
TimeInfo localTimeInfo = getYesterdayStartAndEndTime();
return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime());
}
private static boolean isBeforeYesterday(long paramLong) {
TimeInfo localTimeInfo = getBeforeYesterdayStartAndEndTime();
return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime());
}
public static boolean isSameYear(int year) {
Calendar cal = Calendar.getInstance();
int CurYear = cal.get(Calendar.YEAR);
// Log.e("","CurYear="+CurYear);//2015
return CurYear==year;
}
。。。。。。
public class TimeInfo {
private long startTime;
private long endTime;
public long getStartTime() {
return this.startTime;
}
public void setStartTime(long paramLong) {
this.startTime = paramLong;
}
public long getEndTime() {
return this.endTime;
}
public void setEndTime(long paramLong) {
this.endTime = paramLong;
}
}
标签:java,判断,今天,昨天
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Flutter 底部弹窗如何实现多项选择
2023-06-24 17:08:17
![](https://img.aspxhome.com/file/2023/7/84707_0s.gif)
SpringMVC使用RESTful接口案例详解
2022-08-08 23:41:52
Spring Data JPA带条件分页查询实现原理
2023-07-23 21:32:54
C#动态生成DropDownList执行失败原因分析
2023-08-30 22:37:28
Java实现生成JSON字符串的三种方式分享
2022-05-20 15:21:31
详解Java中Optional类的使用方法
2023-11-25 05:22:28
![](https://img.aspxhome.com/file/2023/4/59694_0s.png)
springboot配置项目启动后自动打开浏览器访问项目方式
2023-10-05 07:33:09
Java线程同步的四种方式详解
2021-09-02 19:57:36
![](https://img.aspxhome.com/file/2023/9/60909_0s.png)
Java流式操作之Collectors工具类操作指南
2022-12-01 01:25:55
![](https://img.aspxhome.com/file/2023/9/72389_0s.png)
利用Lambda表达式创建新线程案例
2023-08-26 23:16:00
Java编程实现基于用户的协同过滤推荐算法代码示例
2022-09-06 12:44:24
Android开发中Intent.Action各种常见的作用汇总
2022-10-08 10:24:53
java比较器comparator使用示例分享
2022-07-18 22:45:15
SpringBoot深入分析运行原理与功能实现
2022-01-03 14:48:43
![](https://img.aspxhome.com/file/2023/0/71220_0s.png)
Java基础元注解基本原理示例详解
2022-08-09 23:21:16
![](https://img.aspxhome.com/file/2023/4/67984_0s.png)
SpringBoot项目集成Flyway进行数据库版本控制的详细教程
2023-11-24 05:20:33
![](https://img.aspxhome.com/file/2023/0/59390_0s.png)
浅谈Java中IO和NIO的本质和区别
2023-11-01 01:44:08
![](https://img.aspxhome.com/file/2023/4/86734_0s.jpg)
Windows系统中C#读写ini配置文件的程序代码示例分享
2022-05-15 08:57:33
Scala可变参数列表,命名参数和参数缺省详解
2022-09-26 21:00:49
Java 由浅入深带你掌握图的遍历
2022-05-21 07:21:44
![](https://img.aspxhome.com/file/2023/8/65208_0s.png)