判断日期是否是明天,今天,昨天
读取日期的格式
public static SimpleDateFormat getDateFormat() {if (null == DateLocal.get()) {DateLocal.set(new SimpleDateFormat("yyyy年MM月dd日", Locale.CHINA));}return DateLocal.get();}
判断是否为昨天(效率比较高)
public static boolean IsYesterday(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);if (diffDay == YESTERDY) {return true;}}return false;}
判断是否为今天
public static boolean IsToday(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);if (diffDay == TODAY) {return true;}}return false;}
判断是否为明天
public static boolean IsTomorrowday(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);if (diffDay == TOMORROWDAT) {return true;}}return false;}
以下为整体代码:
package com.example.addda.addd;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;/*** Created by scq on 17-03-03.*/
public class DayUtils {private static final int YESTERDY = -1;private static final int TODAY = 0;private static final int TOMORROWDAT = 1;private static final int OTHER_DAY = 10000;private static ThreadLocal<SimpleDateFormat> DateLocal = new ThreadLocal<SimpleDateFormat>();/*** 读取日期的格式*/public static SimpleDateFormat getDateFormat() {if (null == DateLocal.get()) {DateLocal.set(new SimpleDateFormat("yyyy年MM月dd日", Locale.CHINA));}return DateLocal.get();}/*** 调用显示日期*/public static String getTitleDay(String day){try {/*boolean isToday;boolean isYesterday;boolean isTomorrowday;isToday = IsToday(day);isYesterday = IsYesterday(day);isTomorrowday = IsTomorrowday(day);if(isToday){return "今天";}else if(isYesterday){return "昨天";}else if(isTomorrowday){return "明天";}else{return day;}*/switch (JudgmentDay(day)) {case YESTERDY : {return "今天";}case TODAY : {return "昨天";}case TOMORROWDAT : {return "明天";}default:return day;}} catch (ParseException e) {e.printStackTrace();}return null;}/*** 判断日期(效率比较高)*/public static int JudgmentDay(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);switch (diffDay) {case YESTERDY : {return YESTERDY;}case TODAY : {return TODAY;}case TOMORROWDAT : {return TOMORROWDAT;}}}return OTHER_DAY;}/*** 判断是否为昨天(效率比较高)* @param day 传入的 时间 "2016-06-28 10:10:30" "2016-06-28" 都可以* @return true昨天 false不是* @throws ParseException*/public static boolean IsYesterday(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);if (diffDay == YESTERDY) {return true;}}return false;}/*** 判断是否为今天(效率比较高)* @param day 传入的 时间 "2016-06-28 10:10:30" "2016-06-28" 都可以* @return true今天 false不是* @throws ParseException*/public static boolean IsToday(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);if (diffDay == TODAY) {return true;}}return false;}/*** 判断是否为明天(效率比较高)* @param day 传入的 时间 "2016-06-28 10:10:30" "2016-06-28" 都可以* @return true明天 false不是* @throws ParseException*/public static boolean IsTomorrowday(String day) throws ParseException {Calendar pre = Calendar.getInstance();Date predate = new Date(System.currentTimeMillis());pre.setTime(predate);Calendar cal = Calendar.getInstance();Date date = getDateFormat().parse(day);cal.setTime(date);if (cal.get(Calendar.YEAR) == (pre.get(Calendar.YEAR))) {int diffDay = cal.get(Calendar.DAY_OF_YEAR)- pre.get(Calendar.DAY_OF_YEAR);if (diffDay == TOMORROWDAT) {return true;}}return false;}
}
判断日期是否是明天,今天,昨天相关推荐
- vue获取当前时间和前一天时间_vue如何判断日期是今天?还是昨天?还是前天?...
整理了下,满足日常使用 function formatDate(date) { const mistiming = Math.round((Date.now() - new Date(date).ge ...
- JS 判断日期是不是今天、昨天、明天
// 判断日期是不是今天.昨天.明天 const isToday = (str) => {let d = new Date(str).setHours(0, 0, 0, 0);let today ...
- java 判断是否是昨天_java判断日期是否是今天
java判断日期是不是当天:public static boolean isToday(String str, String formatStr) throws Exception{ SimpleDa ...
- LINQ中判断日期时间段
1)转换日期格式为DateTime类型 DateTime dtToday = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd&quo ...
- javascript 时间戳判断日期
// 时间戳转换为时间 function formatDate(time) {if (time == null) {return '';} else {let date = new Date(time ...
- pandas判断日期是否是闰年(is_leap_year)实战: 数据列转化为日期(时间)格式、判断pandas的日期数据列是否是闰年
pandas判断日期是否是闰年(is_leap_year)实战: 数据列转化为日期(时间)格式.判断pandas的日期数据列是否是闰年 目录
- python判断日期_python如何判断日期的合法性?
判断日期的合法性,有两层含义,一是日期格式是否合法,二是格式合法后,其所表示的实际的那一天,是否真实存在!在python中,做这个合法性的判断,so easy!~~ 我们需要用到datetime模块中 ...
- java 日期是否合法_java 中 Date 类型快判断日期是否合法.
// 如果日期不合法,则抛异常try {String date_str = 5555-22-33;SimpleDateFormat format=new SimpleDateFormat(yyyy-M ...
- Problem G: 函数---判断日期(年月日)是否合法
Problem G: 函数---判断日期(年月日)是否合法 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 566 Solved: 240 Descr ...
- js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内...
/** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...
最新文章
- Servlet -- 重定向
- python绘制灰度图片直方图-python – numpy图像中灰度值的直方图
- WebConfig的经典使用,大家一起交流一下吧!!!
- winform模拟登陆网页_winform跳转到制定的网页并自动实现登陆功能
- java filehelper_Spring 发送邮件 使用File指定附件
- linux 常用命令技巧
- 聊聊C语言和指针的本质
- android中止线程_Android如何结束并重启线程? | 学步园
- 37岁跳槽去阿里 p8_36岁阿里p8发帖:手下12个p7,17个p6,亲自写代码毫无中年危机...
- 计算机学院运动会通讯稿,2021大学运动会通讯稿篇
- 树莓派 python 无人机_DIY一个基于树莓派和Python的无人机视觉跟踪系统
- OSChina 周五乱弹 ——我们测算过无数代码却依旧算不准没钱的这一生
- matlab参数摄动仿真,过程控制工程及仿真 基于MATLABSimulixnk_IT教程网
- 嵌入式和单片机的区别是什么
- 转帖:网络知识100问
- Python实现网络爬虫
- 树莓派 查看当前cpu温度
- Ubuntu下载软件包连接失败
- 29.Android展示PDF文件
- POJ 2752 既是前缀又是后缀