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

相关文章

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依