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,判断,今天,昨天
0
投稿

猜你喜欢

  • Flutter 底部弹窗如何实现多项选择

    2023-06-24 17:08:17
  • 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
  • springboot配置项目启动后自动打开浏览器访问项目方式

    2023-10-05 07:33:09
  • Java线程同步的四种方式详解

    2021-09-02 19:57:36
  • Java流式操作之Collectors工具类操作指南

    2022-12-01 01:25:55
  • 利用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
  • Java基础元注解基本原理示例详解

    2022-08-09 23:21:16
  • SpringBoot项目集成Flyway进行数据库版本控制的详细教程

    2023-11-24 05:20:33
  • 浅谈Java中IO和NIO的本质和区别

    2023-11-01 01:44:08
  • Windows系统中C#读写ini配置文件的程序代码示例分享

    2022-05-15 08:57:33
  • Scala可变参数列表,命名参数和参数缺省详解

    2022-09-26 21:00:49
  • Java 由浅入深带你掌握图的遍历

    2022-05-21 07:21:44
  • asp之家 软件编程 m.aspxhome.com