java判断今天,昨天,前天,不能用秒间隔的简单实例
作者:jingxian 发布时间:2021-07-27 23:01:35
标签:java,判断,今天,昨天
实例如下:
一 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;
}
}
0
投稿
猜你喜欢
- 定义Java修饰符:修饰符用来定义类、方法或者变量,通常放在语句的最前端。分类主要分为2类:访问控制修饰符非访问控制修饰符访问控制修饰符可以
- 本文实例讲述了spring mvc 实现获取后端传递的值。分享给大家供大家参考,具体如下:jsp页面怎么获取从后端传递过来的值?JSTL 方
- RecyclerView显示Item布局不一致在自定义RecyclerAdapter的时候,在重写onCreateViewHolder方法是
- 网络基础知识1、OSI分层模型和TCP/IP分层模型的对应关系这里对于7层模型不展开来讲,只选择跟这次系列主题相关的知识点介绍。2、七层模型
- 定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:工厂方法模式代码in
- 对象的读写使用ObjectInputStream和ObjectOutputStream读写对象(序列化与反序列化)。只有字节流没有字符流.类
- 泛型中 T 类型变量 和 ? 通配符 区别定义不同 :T 是类型变量,? 是通配符使用范围不同:? 通配符用作 参数类型、字段类型、局部变量
- 本文实例讲述了java实现的五子棋游戏代码,分享给大家供大家参考,具体代码如下package gyb.exam;import java.aw
- 1.根据入参带分页参数进行sql查询分页 Criteria criteria = n
- 一、Fork/Join框架的理解ForkJoinTask类属于java.util.concurrent 包下;ForkJoinTask类下有
- mybatis if test判断BigDecimal遇到的坑<update id="test" paramete
- 本期文章源码:GitHub一文彻底搞懂《并查集》!概念并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。
- 前言一直对它们之间的关系感到好奇,SpringBoot既然是Spring的封装,那么SpringBoot在初始化时应该也会有Bean的加载,
- Spring AOP后置通知修改响应httpstatus1.定义Aspect/** * 响应体切面 * 后置通知修改httpstatus *
- 一.创建Spring boot项目,添加如下依赖<dependency> <gro
- WPF实现滚动条还是比较方便的,只要在控件外围加上ScrollViewer即可,但美中不足的是:滚动的时候没有动画效果。在滚动的时候添加过渡
- 这篇文章主要介绍了Java如何利用return结束方法调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 本文实例为大家分享了C#线程倒计时器源码,供大家参考,具体内容如下using System;using System.Collections
- 如下所示:if(str.indexOf(",") >= 0) System.out.println(&
- 1.微信配置信息 global.properties2.方法wxpay用于生成预支付订单信息方法notifyWeiXinPay用于微信支付成