日期加天数、字符串类型转date、获取本周第一天、本周最后一天、本月第一天、本月最后一天、上月第一天、上月最后一天时间

本文主要是介绍日期加天数、字符串类型转date、获取本周第一天、本周最后一天、本月第一天、本月最后一天、上月第一天、上月最后一天时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//日期相加,当前日期加n天,n可以为负整数也可以为正整数

      public static Date addDays(Integer addNum){

DateTime dateTime = new DateTime(new Date());
return dateTime.plusDays(addNum).toDate();
}

       //字符串日期转换为Date类型

public static Date string2Date(String timeStr){
DateTimeFormatter format = DateTimeFormat .forPattern("yyyyMMdd");
DateTime dateTime = DateTime.parse(timeStr, format);
return dateTime.toDate();
}

     //获取本周第一天的时间,输出格式为:如2014-10-16 13:45:52

public static Date getFirstDayOfWeek(){
DateTime dateTime = new DateTime(new Date()).dayOfWeek().withMinimumValue();
return dateTime.toDate();
}


      //获取本周最后一天的时间,输出格式为:如2014-10-19 15:39:04

public static Date getLastDayOfWeek(){
DateTime dateTime = new DateTime(new Date()).dayOfWeek().withMaximumValue();
return dateTime.toDate();
}

       //获取当前月份第一天的时间,输出格式为:如2014-10-31 23:59:59

public static Date getFirstDayOfMonth(){
DateTime dateTime = new DateTime(new Date()).dayOfMonth().withMinimumValue();
return dateTime.toDate();
}

       //获取当前月份的最后一天的时间,输出格式为:如2014-10-02 15:25:14

public static Date getLastDayOfMonth(){
DateTime dateTime = new DateTime(new Date()).dayOfMonth().withMaximumValue();
return dateTime.toDate();
}

//获取当前日期的凌晨0点时间,输出格式为:如2014-10-10 00:00:00
public static Date getTodayMorning(){
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(new Date());
 calendar.set(Calendar.HOUR_OF_DAY, 0);
 calendar.set(Calendar.MINUTE, 0);
 calendar.set(Calendar.SECOND, 0);
 return calendar.getTime();
}

//获取当前日期的晚上23点时间,输出格式为:如2014-10-18 23:59:59
public static Date getTodayNight(){
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(new Date());
 calendar.set(Calendar.HOUR_OF_DAY, 23);
 calendar.set(Calendar.MINUTE, 59);
 calendar.set(Calendar.SECOND, 59);
 return calendar.getTime();
}

//获取本周第一天,输出格式为:如2014-10-13 00:00:00
public static Date getWeekFirstDay(){
 Calendar calendar = Calendar.getInstance();
 int dayofweek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
 if (dayofweek == 0)
  dayofweek = 7;
 calendar.add(Calendar.DATE, -dayofweek + 1);
 calendar.set(Calendar.HOUR_OF_DAY, 0);
 calendar.set(Calendar.MINUTE, 0);
 calendar.set(Calendar.SECOND, 0);
 return calendar.getTime();
}

//获取本周最后一天,输出格式为:如2014-10-19 23:59:59
public static Date getWeekLastDay(){
Calendar calendar = Calendar.getInstance();
 int dayofweek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
 if (dayofweek == 0)
  dayofweek = 7;
 calendar.add(Calendar.DATE, -dayofweek + 7);
 calendar.set(Calendar.HOUR_OF_DAY, 23);
 calendar.set(Calendar.MINUTE, 59);
 calendar.set(Calendar.SECOND, 59);
 return calendar.getTime();
}

//获取当前月第一天,输出格式为:如2014-10-01 00:00:00
public static Date getMonthFirstDay(){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
    return calendar.getTime();
}

//获取当前月最后一天,输出格式为:如2014-10-31 23:59:59
public static Date getMonthLastDay(){
Calendar calendar = Calendar.getInstance();
   calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
   calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
    return calendar.getTime();
}

//获取上月第一天,输出格式为:如2014-10-01 00:00:00
public static Date getPrevMonthFirstDay(){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
    return calendar.getTime();
}

//获取上月最后一天时间,输出格式为:如2014-10-31 23:59:59
public static Date getPrevMonthLastDay(){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
   return calendar.getTime();
}

这篇关于日期加天数、字符串类型转date、获取本周第一天、本周最后一天、本月第一天、本月最后一天、上月第一天、上月最后一天时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003279

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估