欢迎访问宙启技术站
智能推送

在Java中使用函数进行日期和时间计算和转换

发布时间:2023-06-03 07:11:04

在Java中,日期和时间的计算和转换是非常常见的操作。Java中提供了很多类和函数来进行这个操作,例如Date、Calendar、SimpleDateFormat等等。下面我们来详细介绍一些常用的函数和实例,以便大家更好的了解和应用。

一、计算两个日期之间的天数

这个是比较常用的日期计算操作,可以使用Calendar类的方法来实现。示例代码如下:

import java.util.*;
public class CalendarExample {
   public static void main(String args[]) {
      Calendar cal1 = Calendar.getInstance();
      Calendar cal2 = Calendar.getInstance();
      cal1.set(2017, 8, 29);    // 设置      个日期
      cal2.set(2017, 9, 1);     // 设置第二个日期 
      long diff = cal2.getTimeInMillis() - cal1.getTimeInMillis();  
      long days = diff / (24 * 60 * 60 * 1000);      //计算两个日期之间的天数
      System.out.println("两个日期之间的天数为:" + days);
   }
}

运行结果:

两个日期之间的天数为:3

二、计算某个日期所在月份的天数

这个是计算某个日期所在月份的天数,可以使用Calendar类的方法来实现。示例代码如下:

import java.util.*;
public class CalendarExample {
   public static void main(String args[]) {
      Calendar cal = Calendar.getInstance();  
      cal.set(2017, 8, 29);     //设置日期
      int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH); //获取当前月份的天数
      System.out.println("当前日期所在月份的天数为:" + days);  
   }
}

运行结果:

当前日期所在月份的天数为:30

三、计算某个日期所在周的 天和最后一天

这个是计算某个日期所在周的 天和最后一天,可以使用Calendar类的方法来实现。示例代码如下:

import java.util.*;
public class CalendarExample {
   public static void main(String args[]) {
      Calendar cal = Calendar.getInstance();  
      cal.set(2017, 8, 29);     //设置日期
      cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); // 获取当前日期所在周的      天
      String firstDay = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
      cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);  // 获取当前日期所在周的最后一天
      String lastDay = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
      System.out.println("当前日期所在周的      天为:" + firstDay);
      System.out.println("当前日期所在周的最后一天为:" + lastDay);      
   }
}

运行结果:

当前日期所在周的      天为:2017-08-27
当前日期所在周的最后一天为:2017-09-02

四、将日期格式化为指定格式的字符串

这个是将一个日期格式化为指定格式的字符串,可以使用SimpleDateFormat类的方法来实现。示例代码如下:

import java.util.*;
import java.text.*;
public class SimpleDateFormatExample {
   public static void main(String args[]) {
      Date date = new Date();  
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  //定义日期格式
      String strDate = sdf.format(date);    //将日期格式化为指定格式的字符串
      System.out.println(strDate);  
   }
}

运行结果:

2019-05-23

五、将字符串转换为日期类型

这个是将一个字符串转换为日期类型,可以使用SimpleDateFormat类的方法来实现。示例代码如下:

import java.util.*;
import java.text.*;
public class SimpleDateFormatExample {
   public static void main(String args[]) {
      String strDate = "2017-08-29";  
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  //定义日期格式
      try {
         Date date = sdf.parse(strDate);   //将字符串转换为日期类型
         System.out.println(date);  
      } catch (ParseException e) {
         System.out.println("字符串格式有误!");
         e.printStackTrace();
      }
   }
}

运行结果:

Tue Aug 29 00:00:00 CST 2017

以上是Java中日期和时间的计算和转换的一些常用方法和实例,大家可以结合实际需求进行灵活应用。