时间相关

  • 时间格式
    • 1.改变日期(yyyy-MM-dd)增减天数
    • 2.不熟悉的格式转换
    • 3.带有时区
    • 4.判断一个日期是否在一个特定范围
    • 5.判断是否在7天之后

时间格式

yyyy-MM-dd HH:mm:ss SSS
含义:年-月-日 时:分:秒 毫秒
说明:以下内容是我用的比较多的,其实每次写代码基本还是会在网上搜怎么写,有点儿浪费时间,所以记录一下。

1.改变日期(yyyy-MM-dd)增减天数

    /*** 此方法是为了改变日期* @param date 原始日期* @param num  改变天数,正数则是加几天,负数则是减几天* @return*/public  static String changeDateStr(String date,int num){SimpleDateFormat myFmt=new SimpleDateFormat("yyyy-MM-dd");String dateStr = "";Date dt = null;try {dt = myFmt.parse(date);Calendar rightNow = Calendar.getInstance();  rightNow.setTime(dt);  rightNow.add(Calendar.DAY_OF_YEAR, num);// 日期增减num天  dateStr = myFmt.format(rightNow.getTime());} catch (ParseException e) {e.printStackTrace();}return dateStr;}

2.不熟悉的格式转换

第一种:

    public static void amANDpm(){try {String timeStr = "1/12/2019 12:17 AM";SimpleDateFormat df = new SimpleDateFormat ("MM/dd/yyyy HH:mm a", Locale.UK);Date time = df.parse(timeStr);SimpleDateFormat df2 = new SimpleDateFormat ("yyyy-MM-dd HH:mm");System.out.println(df2.format(time));} catch (ParseException e) {e.printStackTrace();}}

这块代码是将不熟悉的格式转换成熟悉的格式,代码结果:

还有一些不熟悉的格式:
第二种:

 public static void amANDpm2() {try {//转换成特定的格式SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy K:m:s a", Locale.ENGLISH);Date d2 = sdf.parse("Sep 29, 2012 1:00:01 AM");Date d3 = new Date();System.out.println("d2<系统默认> ====== " + d2);System.out.println("d3<系统默认> ====== " + d3);System.out.println("d3<特定格式> ====== " + sdf.format(d3));} catch (Exception e) {e.printStackTrace();}}

这段代码的运行结果:

3.带有时区

1.将日期换成有时区的格式:

 public static String parseDateWithZ(String dateStr){String result = "";//此格式只有  jdk 1.7以上才支持  yyyy-MM-dd'T'HH:mm:ss.SSSXXX      try {DateFormat df3 = new SimpleDateFormat("yyyy-MM-dd");Date date = df3.parse(dateStr);//特定格式DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); //yyyy-MM-dd'T'HH:mm:ss.SSSZresult= df.format(date);System.out.println(result);} catch (Exception e) {e.printStackTrace();}return result;}

此代码结果:(参数:2019-11-10)

2.第二种特殊格式

 public static String parseDateWithZ2(String dateStr){String result = "";//此格式只有  jdk 1.7才支持  yyyy-MM-dd'T'HH:mm:ss.SSSXXX      try {DateFormat df3 = new SimpleDateFormat("yyyy-MM-dd");Date date = df3.parse(dateStr);//特殊格式SimpleDateFormat df1 = new SimpleDateFormat ("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);System.out.println("特殊格式:"+df1.format(date));//常用格式DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("常用格式:"+df2.format(date));} catch (Exception e) {e.printStackTrace();}return result;}

代码结果:(参数:2019-11-10)

4.判断一个日期是否在一个特定范围

 /*** 判断是否在两个日期之间* @param judgeDate  待判断的日期* @param startDate  起始日期* @param endDate    结束日期* @return true-在两个日期范围内*/public static boolean isMidINdate(String judgeDate,String startDate,String endDate){if(StringUtils.isEmpty(judgeDate)||StringUtils.isEmpty(startDate)||StringUtils.isEmpty(endDate)){return false;}long judge = 0L;if(judgeDate.contains("-")){//是yyyy-MM-dd格式的judge = DateUtil.parse(judgeDate, "yyyy-MM-dd").getTime();//转换格式}else{//直接是long的字符串judge = Long.parseLong(judgeDate);}long start = DateUtil.parse(startDate, "yyyy-MM-dd").getTime();//转换格式long end = DateUtil.parse(endDate, "yyyy-MM-dd").getTime();//转换格式if(judge>=start && judge <=end){return true;}return false;}

举例解释:
1.参数:judgeDate =2019-12-21,startDate=2019-10-17,endDate=2019-12-20,结果:false.
2.参数:judgeDate =2019-12-18,startDate=2019-10-17,endDate=2019-12-20,结果:true.

5.判断是否在7天之后

 /*** 判断两个日期是否在7天以后,如果只有一个参数则只判断第一个,有第二个参数再判断第二个日期* @param date1* @param date2* @return 只要与一个日期在7天之后则返回true*/public static boolean isDateOut7Day(String date1,String date2){long date1Time = DateUtil.parse(date1, "yyyy-MM-dd").getTime();//转换格式long judgeTime = System.currentTimeMillis()+ 7 * 24 * 60 * 60 * 1000;if(date1Time>judgeTime){return true;}if(StringUtils.isNotEmpty(date2)){long date2Time = DateUtil.parse(date2, "yyyy-MM-dd").getTime();//转换格式if(date2Time>judgeTime){return true;}}return false;}

举例解释:(当天是2022年8月1日)
1.参数:date1=2022-08-03,date2=2022-08-06
结果:false
2.参数:date1=2022-08-03,date2=2022-08-10
结果:true
3.参数:date1=2022-08-08,date2=2022-08-10
结果:true
4.参数:date1=2022-07-11,date2=2022-07-30
结果:false

【java】时间格式相关相关推荐

  1. java时间格式转换_Java时间日期格式转换

    突然忘记了时间格式怎么转换,特此做个记录 Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate ...

  2. java时间格式大全

    java时间格式大全 java.util.*; import java.text.*; import java.util.Calendar; public class VeDate {  /** */ ...

  3. Java时间格式转换大全

    Java时间格式转换大全import java.text.*; import java.util.Calendar; public class VeDate { /*** 获取现在时间* * @ret ...

  4. mysql时间格式和Java时间格式对应

    mysql时间格式和Java时间格式对应 在 MySQL 中有两种存储时间的数据类型 DATETIME 和 TIMESTAMP ,它们在数据库实际应用中,各有各的优势和劣势.本文将详细详解两个数据类型 ...

  5. java 时间格式转码,处理时间后多个0,

    java 时间格式转码,处理时间后多个0问题 代码方法: /*** 日期格式字符串转换* @param date_str 字符串日期* @return String*/public static St ...

  6. java 时间格式“yyyyMMddHHmmssSSSSSS”的解释

    一.背景   因近期对接第三方接口时,涉及到多种时间格式,因此记录一下时间格式中的相关含义. 二.时间格式解释 字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y 年 Year ...

  7. java 时间的相关转换操作

    关于时间的操作,写了个util 主要用于预测的时候,时间段的确定 预测的时间段,需要明确的规定范围,由于业务的促销都是整点开始,所以我们的预测时间段,也是从整点开始 所以就要将时间分为多个整段,比如一 ...

  8. java时间格式24小时制12小时制

    原文: http://zhoushu126.iteye.com/blog/1407391 Java时间设为二十四小时制和十二小时制的区别: 1) 二十四小时制: "yyyy-MM-dd HH ...

  9. java 时间格式检查

    检查日期需求: 日期格式如:20120101或者2012-01-01 直接用SimpleDateFormat sdf = new SimpleDateFormat("YYYYMMDD&quo ...

最新文章

  1. ARP监控工具ARPalert常用命令集合大学霸IT达人
  2. Liferay Portal Json Web Service 反序列化漏洞(CVE-2020-7961)
  3. 生活点滴:java基础知识细化
  4. Windows Socket五种I/O模型
  5. git 提交各种情况下的处理方式
  6. 【爬蟲】使用 httpclient进行POST请求
  7. 常用的 Emmet 语法
  8. php优化if语句,php - 如何在php中优化64 if else if语句 - SO中文参考 - www.soinside.com
  9. 【字符串操作之】返回指定长度的字符串→→substr方法
  10. 分治算法——快速排序
  11. java实现浏览器_利用Java实现网页浏览器
  12. php 打印所有常量,php中输出常量
  13. 解决anaconda下载很慢
  14. CMMI中的过程改进
  15. 客户需求分析工具-$APPEALS
  16. 2018.3.4 st
  17. html打印26个字母,用js完成:输出26个英文字母任意3个字母的全部组合
  18. win10家庭版用户实现远程桌面解决办法
  19. SAP中采购订单修改触发重新审批的相关控制逻辑及测试
  20. 管理学中常用的激励理论

热门文章

  1. 明天,许你一场春暖花开
  2. 记录一个连接,走遍美国视频下载
  3. 在人间已是颠,何苦还要上青天
  4. css 文字倒影效果
  5. 力扣187-重复的DNA序列-C++
  6. excel数据导入python后不对齐_如何将excel文件导入python并检查列是否重复?
  7. 数据库服务器物理架构,DM7 达梦数据库 物理结构 说明
  8. linux crontab文件,crontab用法与实例
  9. Hibernate配置Oracle
  10. 用case语句后面跟范围