`

可以使用java.util.Calendar来取得相关日期信息

 
阅读更多

  1. import java.text.ParseException;   
  2. import java.text.SimpleDateFormat;   
  3. import java.util.Calendar;   
  4.   
  5. public class DateDemo {   
  6.   
  7.     static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");   
  8.        
  9.     public static void main(String[] args) throws ParseException {   
  10.         String date = "2011-04-25 22:28:30";   
  11.         System.out.println(date);   
  12.         System.out.println("年份:" + getYear(date));   
  13.         System.out.println("月份:" + getMonth(date));   
  14.         System.out.println("日期:" + getDay(date));   
  15.         System.out.println("月初日期是: " + getMinMonthDate(date));   
  16.         System.out.println("月末日期是: " + getMaxMonthDate(date));   
  17.     }   
  18.   
  19.     /**  
  20.      * 获取日期年份  
  21.      * @param date  
  22.      * @return  
  23.      * @throws ParseException  
  24.      */  
  25.     public static int getYear(String date) throws ParseException{   
  26.         Calendar calendar = Calendar.getInstance();   
  27.         calendar.setTime(dateFormat.parse(date));   
  28.         return calendar.get(Calendar.YEAR);   
  29.     }   
  30.        
  31.     /**  
  32.      * 获取日期月份  
  33.      * @param date  
  34.      * @return  
  35.      * @throws ParseException  
  36.      */  
  37.     public static int getMonth(String date) throws ParseException{   
  38.         Calendar calendar = Calendar.getInstance();   
  39.         calendar.setTime(dateFormat.parse(date));   
  40.         return (calendar.get(Calendar.MONTH) + 1);   
  41.     }   
  42.        
  43.     /**  
  44.      * 获取日期号  
  45.      * @param date  
  46.      * @return  
  47.      * @throws ParseException  
  48.      */  
  49.     public static int getDay(String date) throws ParseException{   
  50.         Calendar calendar = Calendar.getInstance();   
  51.         calendar.setTime(dateFormat.parse(date));   
  52.         return calendar.get(Calendar.DAY_OF_MONTH);   
  53.     }   
  54.     /**  
  55.      * 获取月份起始日期  
  56.      * @param date  
  57.      * @return  
  58.      * @throws ParseException  
  59.      */  
  60.     public static String getMinMonthDate(String date) throws ParseException{   
  61.         Calendar calendar = Calendar.getInstance();   
  62.         calendar.setTime(dateFormat.parse(date));   
  63.         calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));   
  64.         return dateFormat.format(calendar.getTime());   
  65.     }   
  66.        
  67.     /**  
  68.      * 获取月份最后日期  
  69.      * @param date  
  70.      * @return  
  71.      * @throws ParseException  
  72.      */  
  73.     public static String getMaxMonthDate(String date) throws ParseException{   
  74.         Calendar calendar = Calendar.getInstance();   
  75.         calendar.setTime(dateFormat.parse(date));   
  76.         calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));   
  77.         return dateFormat.format(calendar.getTime());   
  78.     }   
  79. }  
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DateDemo {

	static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
	
	public static void main(String[] args) throws ParseException {
		String date = "2011-04-25 22:28:30";
		System.out.println(date);
		System.out.println("年份:" + getYear(date));
		System.out.println("月份:" + getMonth(date));
		System.out.println("日期:" + getDay(date));
		System.out.println("月初日期是: " + getMinMonthDate(date));
		System.out.println("月末日期是: " + getMaxMonthDate(date));
	}

	/**
	 * 获取日期年份
	 * @param date
	 * @return
	 * @throws ParseException
	 */
	public static int getYear(String date) throws ParseException{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(dateFormat.parse(date));
		return calendar.get(Calendar.YEAR);
	}
	
	/**
	 * 获取日期月份
	 * @param date
	 * @return
	 * @throws ParseException
	 */
	public static int getMonth(String date) throws ParseException{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(dateFormat.parse(date));
		return (calendar.get(Calendar.MONTH) + 1);
	}
	
	/**
	 * 获取日期号
	 * @param date
	 * @return
	 * @throws ParseException
	 */
	public static int getDay(String date) throws ParseException{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(dateFormat.parse(date));
		return calendar.get(Calendar.DAY_OF_MONTH);
	}
	/**
	 * 获取月份起始日期
	 * @param date
	 * @return
	 * @throws ParseException
	 */
	public static String getMinMonthDate(String date) throws ParseException{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(dateFormat.parse(date));
		calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
		return dateFormat.format(calendar.getTime());
	}
	
	/**
	 * 获取月份最后日期
	 * @param date
	 * @return
	 * @throws ParseException
	 */
	public static String getMaxMonthDate(String date) throws ParseException{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(dateFormat.parse(date));
		calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
		return dateFormat.format(calendar.getTime());
	}
}
lxbccsu (中级程序员) 2011-03-25
不过对日期时间的操作处理,joda-time提供更好的支持
joda-time官网:
http://joda-time.sourceforge.net/

joda-time简介:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
分享到:
评论

相关推荐

    Java获取各种日期的函数(方法).docx

    Java语言中日期操作函数是非常重要的一部分,日期操作函数可以帮助开发者快速获取和处理日期相关的信息。本文将对Java日期操作函数进行详细的介绍和分析。 1. 日期操作函数的基本概念 在Java中,日期操作函数主要...

    java API 1.8

    在日期和时间API方面,Java 8彻底改革了`java.util.Date`和`java.util.Calendar`,推出了新的`java.time`包。这个包包含了诸如`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等类,提供更加友好和精确...

    calendar的用法小结

    Java 中 Calendar 类的用法小结 Calendar 类是 Java 语言中一个基本而重要的组成部分,用于处理日期和...通过使用这些类,我们可以轻松地取得当前时间,格式化日期数据,创建日期对象,和将文本数据解析成日期对象。

    计算日期差

    首先,Java提供了`java.util.Date`类来表示日期和时间。这个类虽然在Java 8之后被`java.time`包中的新API所取代,但在许多旧项目和教程中仍然广泛使用。`DateDays.java`可能包含了使用`Date`类进行日期差计算的代码...

    java时间处理工具类--DateUtils

    import java.util.*; import java.text.*; import java.sql.Timestamp; public class DateUtils { /** * 时间范围:年 */ public static final int YEAR = 1; /** * 时间范围:季度 */ public static...

    mr.rar_Java 8_Java项目开发

    旧的日期和时间API(`java.util.Date`和`java.util.Calendar`)在Java 8中被全新的`java.time`包取代。新API提供了更直观、更易用的类,如`LocalDate`、`LocalTime`和`LocalDateTime`。这些类提供了丰富的日期和...

    java参考手册

    在Java 8的日期和时间API(java.time包)中,取代了原有的java.util.Date和java.util.Calendar,引入了诸如LocalDate、LocalTime、LocalDateTime、ZonedDateTime等新类,提供了更为直观和易用的时间日期操作方法,...

    corejava面试题

    \n使用`java.util.Calendar`类或`java.time`包下的类如`LocalDate`, `LocalTime`。\n\n11.2) 如何取得从1970年到现在的毫秒数?\n使用`System.currentTimeMillis()`。\n\n11.3) 如何取得某个日期是当月的后一天?\n...

    Java jdk1.8.zip

    5. **日期和时间API(java.time)**:Java 8改进了日期和时间处理,引入了`java.time`包,提供了`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等类,替代了之前的`java.util.Date`和`Calendar`,更加...

    总结java的算法之2

    文件名中提到了“公共日期类.java”,这可能是关于日期和时间的数据结构实现,例如使用`java.util.Calendar`或`java.time.LocalDate`。 2. **排序算法**:Java中的排序算法包括快速排序、归并排序、冒泡排序、插入...

    2014年Java最全面试题以及答案.

    可以使用Calendar类或者java.time包下的相关类来获取当前日期和时间的组成部分。 26. 如何取得从1970年到现在的毫秒数? 可以使用System类的currentTimeMillis方法来获取自1970年1月1日以来的毫秒数。 27. 如何...

    JAVA时间处理类

    import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.apache.commons.lang.StringUtils; /** * 日付に関するユーティリティクラス * */ public class ...

    java源码包---java 源码 大量 实例

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java综合面试题.pdf

    根据提供的文档内容,我们可以归纳总结出一系列重要的Java知识点,这些知识点不仅对于准备Java面试非常有用,也是Java开发者必备的基础知识。接下来,我们将按照文档中提到的主题进行详细解释。 ### Java面向对象 ...

    java时间格式大全(算法源码)

    java时间格式大全(算法源码) java,date,时间,时间格式,算法源码 * * @return */ public static String getTimeShort() { SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); Date currentTime...

    JAVA面试题目

    根据提供的文件信息,以下是一些关于Java编程和面试准备相关的知识点: 1. super()与this()的区别? super是调用父类的构造函数,而this用于调用当前类的其他构造函数。使用super()必须在子类构造函数的首行,表示...

    Java面试题以及答案

    可以使用`java.util.Stack`类或者自定义一个基于数组或链表的堆栈实现。 #### 48. 集合的作用是什么? 集合是用来存储和操作一组对象的容器。提供了对数据的灵活管理,支持增删改查等操作。 #### 49. 集合的通用...

    大公司java面试题

    - 使用java.util.Date类获取年月日、小时分秒,但注意getYear()返回的是相对于1900年的年份。 - 取得从1970年到现在的毫秒数用getTime()方法。 - 获取某月最后一天可用Calendar类,设置日期为该月1号,然后加一天...

    jdk-8u271-windows-x64

    4. **Date和Time API**:Java 8引入了全新的java.time包,替代了之前的问题重重的java.util.Date和java.util.Calendar,提供了更直观、更易用的时间日期处理功能。 5. **默认方法**:接口现在可以拥有默认实现的...

    Java企业级开发综合技能知识总结

    - 使用`Calendar`类计算昨天的日期,并使用`SimpleDateFormat`格式化输出。 18. **文件读写,实现一个计数器** - 使用`FileReader`和`FileWriter`类进行文件读写操作,记录和更新计数器的值。 19. **指出下面程序...

Global site tag (gtag.js) - Google Analytics