栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2022-02-08 java 获取前N天的日期时间时分秒,先用SimpleDateFormat格式化时间,PS 本人某个实用软件中运用到。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022-02-08 java 获取前N天的日期时间时分秒,先用SimpleDateFormat格式化时间,PS 本人某个实用软件中运用到。

一、需求是这样,比如现在是2022-02-01,我要获取前两天的日期,结果应该是2022-01-30。

二、核心代码

public static void main(String[] args) throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date day = sdf.parse("2017-01-01");
    
    long ms = day.getTime() - 1*24*3600*1000L;
    Date prevDay = new Date(ms);
    System.out.println(sdf.format(prevDay));
}
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class Main{
    public static void main(String[] args){
        Date date = new Date();
        String strDateFormat = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
        System.out.println(sdf.format(date));
    }
}

二、实例测试

1、测试java代码

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class Main {
  public static void main( String[] args ) {
    System.out.println( "Hello, World!" );
    
    try{
      function();
      function_all("2022-02-03 03:08:06",1);
      function_all("2022-02-03 12:10:17",2);
      function_all("2022-02-03 16:13:28",3);
      function_all("2022-02-03 23:53:59",4);
      current_time();
      function_all(current_time(),7);
    }  catch (ParseException e) {
                    e.printStackTrace();
    }
                
    System.exit( 0 ); //success
  }
  
  public static void function() throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date day = sdf.parse("2017-01-01");
    
    long ms = day.getTime() - 1*24*3600*1000L;
    Date prevDay = new Date(ms);
    System.out.println(sdf.format(prevDay));
}

  public static void function_all(String str,int day_number) throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date day = sdf.parse(str);
    
    long ms = day.getTime() - day_number*24*3600*1000L;
    Date prevDay = new Date(ms);
    System.out.println(sdf.format(prevDay));
}

    public static String current_time()
{
        Date date = new Date();
        String strDateFormat = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
        System.out.println("current time:"+sdf.format(date));
        return sdf.format(date);
}

}

2、运行结果,达到预计需求。

Hello, World!
2016-12-31
2022-02-02 03:08:06
2022-02-01 12:10:17
2022-01-31 16:13:28
2022-01-30 23:53:59
current time:2022-02-08 11:06:52
current time:2022-02-08 11:06:52
2022-02-01 11:06:52

三、某个项目中实际的应用

四、有价值的参考文章

java 获取前一天日期 - 偶尔发呆 - 博客园

Java 实例 – 格式化时间(SimpleDateFormat) | 菜鸟教程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号