下面这些方法都可以封装到一个工具类中

  /**
* 获取当前时间的时间戳
*/
public static int getCurrentTimeIntValue() {
return (int) (System.currentTimeMillis() / 1000);
} /**
* 获取days天后的当前时间 时间戳
*/
public static int addDaysTimeStamp(int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, days);
return (int) (cal.getTimeInMillis() / 1000);
} /**
* 获取今日零点的时间戳
*/
public static int getStartTimeStamp() {
Calendar todayStart = Calendar.getInstance();
todayStart.set(Calendar.HOUR_OF_DAY, 0);
todayStart.set(Calendar.MINUTE, 0);
todayStart.set(Calendar.SECOND, 0);
todayStart.set(Calendar.MILLISECOND, 0);
long time = todayStart.getTimeInMillis()/1000;
return (int)time;
} /**
* 获取今日23:59:59的时间戳
*/
public static int getEndTimeStamp() {
Calendar todayEnd = Calendar.getInstance();
todayEnd.set(Calendar.HOUR_OF_DAY, 23);
todayEnd.set(Calendar.MINUTE, 59);
todayEnd.set(Calendar.SECOND, 59);
todayEnd.set(Calendar.MILLISECOND, 999);
long time = todayEnd.getTimeInMillis() / 1000;
return (int) time;
} /**
* 获取指定时间零点的时间戳
*/
public static int getStartTimeStamp(Date date) {
Calendar todayStart = Calendar.getInstance();
todayStart.setTime(date);
todayStart.set(Calendar.HOUR_OF_DAY, 0);
todayStart.set(Calendar.MINUTE, 0);
todayStart.set(Calendar.SECOND, 0);
todayStart.set(Calendar.MILLISECOND, 0);
long time = todayStart.getTimeInMillis()/1000;
return (int)time;
} /**
* 获取指定时间23:59:59的时间戳
*/
public static int getEndTimeStamp(Date date) {
Calendar todayEnd = Calendar.getInstance();
todayEnd.setTime(date);
todayEnd.set(Calendar.HOUR_OF_DAY, 23);
todayEnd.set(Calendar.MINUTE, 59);
todayEnd.set(Calendar.SECOND, 59);
todayEnd.set(Calendar.MILLISECOND, 999);
long time = todayEnd.getTimeInMillis() / 1000;
return (int) time;
} /**
* 获取昨天零点的时间(字符串)
*/
public static String getYesterDayStartTimeStamp() {
SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND,0); //这是将【秒】设置为0
calendar.set(Calendar.MINUTE,0); //这是将【分】设置为0
calendar.set(Calendar.HOUR_OF_DAY,0); //这是将【时】设置为0
calendar.add(Calendar.DATE,-1); //当前日期加一
String yesterday = sdfYMD.format(calendar.getTime()); //获取昨天的时间 如2021-02-25 00:00:00
return yesterday;
} /**
* 获取昨天零点的时间戳
*/
public static Integer getBeforeStartTime(){
Calendar todayStart = Calendar.getInstance();
todayStart.set(Calendar.HOUR_OF_DAY, 0);
todayStart.set(Calendar.MINUTE, 0);
todayStart.set(Calendar.SECOND, 0);
todayStart.set(Calendar.MILLISECOND, 0);
long time = todayStart.getTimeInMillis()/1000;
return (int)time-86400;
} /**
* 获取昨天23:59:59的时间(字符串)
*/
public static String getYesterDayEndTimeStamp() {
SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND,59); //这是将当天的【秒】设置为0
calendar.set(Calendar.MINUTE,59); //这是将当天的【分】设置为0
calendar.set(Calendar.HOUR_OF_DAY,23); //这是将当天的【时】设置为0
calendar.add(Calendar.DATE,-1); //当前日期加一
String yesterday = sdfYMD.format(calendar.getTime()); //获取第二天的时间 2021-02-25 00:00:00
return yesterday;
} /**
* 获取明天零点的时间戳
*/
public static Integer getAfterStartime()
{
Calendar todayStart = Calendar.getInstance();
todayStart.set(Calendar.HOUR_OF_DAY, 0);
todayStart.set(Calendar.MINUTE, 0);
todayStart.set(Calendar.SECOND, 0);
todayStart.set(Calendar.MILLISECOND, 0);
long time = todayStart.getTimeInMillis()/1000;
return (int)time+86400;
} /**
* 将昨天凌晨时间转换为Date类型(下面设置成这样 new simpleDateFormat("yyyy-MM-dd HH:mm:ss") 数据中对应的字段类型就是DateTime)
   * 这个方法中调用了上面的getYesterDayStartTimeStamp()方法哦
*/
public static Date getDateTime()
{
Date dateTime = null;
String yesterDayStartTimeStamp = DateUtil.getYesterDayStartTimeStamp();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
dateTime = formatter.parse(yesterDayStartTimeStamp);
}
catch (ParseException e)
{
e.printStackTrace();
}
//Sun May 09 00:00:00 CST 2021
return dateTime;
}
   /**
* @param begin 开始时间
* @param end 结束时间
* 获取begin - end 时间段内的每一天的日期 比如获取 2021-4-15到2021-5-10内每一天的日期
*/
public static List<String> getDayBetweenDates(String begin, String end) throws ParseException
{
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date dBegin = sd.parse(begin); //将字符串参数转为Date类型 比如参数为 "2021-4-14" 将其转为Date类型
Date dEnd = sd.parse(end);
List<String> lDate = new ArrayList<>(); //创建集合, 存储begin - end 时间段内的时间
lDate.add(sd.format(dBegin));
Calendar calBegin = Calendar.getInstance();
calBegin.setTime(dBegin);
Calendar calEnd = Calendar.getInstance();
calEnd.setTime(dEnd);
while (dEnd.after(calBegin.getTime()))
{
calBegin.add(Calendar.DAY_OF_MONTH, 1);
lDate.add(sd.format(calBegin.getTime()));
}
return lDate;
}

最新文章

  1. ashx中Response.ContentType的常用类型
  2. intellij idea使用
  3. Git submodule 特性
  4. Virtual Environments for mac
  5. 获取Token不完整问题
  6. JVM值内存垃圾回收监控之jstat
  7. VMware Workstation pro 12下载以及序列号
  8. 【caffe-windows】 caffe-master 之 cifar10 超详细
  9. PHP之ThinkPHP数据操作CURD
  10. T[]与List&lt;T&gt;的使用时机
  11. Git submodule - 子模块【转】
  12. List数组
  13. 中州韻输入法框架 ibus-rime 修改样式
  14. 洛谷luogu2782
  15. Samsung_tiny4412(驱动笔记10)----mdev,bus,device,driver,platform
  16. Can&#39;t use Subversion command line client: svn. Errors found while svn working copies detection.
  17. [leetcode] 15. Plus One
  18. 数据库-mysql数据连接
  19. AIDL旅行记之开篇AIDL基本介绍
  20. C++中重载、覆盖和隐藏

热门文章

  1. partTwo自动出题程序第一阶段
  2. 前台主页搭建、后台主页轮播图接口设计、跨域问题详解、前后端互通、后端自定义配置、git软件的初步介绍
  3. 关于Jupyter Notebook无法自动补全(Autocompletion),报错TypeError: __init__() got an unexpected keyword argument &#39;column&#39; 的解决方案
  4. uniapp 入门
  5. 看完复旦博士用Python统计核酸结果后,我照着也写了一个
  6. Nginx编译安装及常用命令
  7. DOM0级同DOM2级
  8. 消息队列,IPC机制(进程间通信),生产者消费者模型,线程及相关
  9. os模块,sys模块,json模块,subprocess模块
  10. VMware 虚拟机图文安装和配置 AlmaLinux OS 8.6 教程