日期加天数、字符串类型转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

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1