`
aswang
  • 浏览: 845423 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java日期相关方法备忘

    博客分类:
  • java
 
阅读更多

 

public class DateUtil {

	private final static String format = "yyyy-MM-dd";
	
	/**
	 * 日期格式转换为字符串
	 * 
	 * @param date
	 * @return
	 */
	public static String dateToString(Date date){
		if(date != null){
			SimpleDateFormat sdf = new SimpleDateFormat(format);
			return sdf.format(date);
		}else{
			return "-";
		}
	}
	
	/**
	 * 将指定格式的字符串转换为日期
	 * @param str
	 * @return
	 */
	public static Date stringToDate(String str){
		Date date = null ;
		if( str != null && str.matches("\\d{4}-\\d{1,2}-\\d{1,2}")){
			SimpleDateFormat sdf = new SimpleDateFormat(format);
			try {
				date = sdf.parse(str);
			} catch (ParseException e) {
				System.out.println("日期转换失败!");
				e.printStackTrace();
			}
		}
		return date ;
	}
	
	/**
	 * 计算两个日期之间的天数
	 * 
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public static Long countDayBetweenDate(Date startDate, Date endDate){
		Calendar fromCalendar = Calendar.getInstance();
        fromCalendar.setTime(startDate);
        fromCalendar.set(Calendar.HOUR_OF_DAY, 0);
        fromCalendar.set(Calendar.MINUTE, 0);
        fromCalendar.set(Calendar.SECOND, 0);
        fromCalendar.set(Calendar.MILLISECOND, 0);
  
        Calendar toCalendar = Calendar.getInstance();
        toCalendar.setTime(endDate);
        toCalendar.set(Calendar.HOUR_OF_DAY, 0);  
        toCalendar.set(Calendar.MINUTE, 0);
        toCalendar.set(Calendar.SECOND, 0);
        toCalendar.set(Calendar.MILLISECOND, 0);
        
        return (toCalendar.getTime().getTime() - fromCalendar.getTime().getTime()) / (1000 * 60 * 60 * 24);
	}
	
	/**
	 * 计算两个日期之间的月数
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public static int countMonthBetweenDate(Date startDate,Date endDate){
		int months = 0 ;
		Calendar tmpStartCalendar = Calendar.getInstance() ;
		tmpStartCalendar.setTime(startDate);
		while(true){
			tmpStartCalendar.add(Calendar.MONTH, 1);
			Date tmpStartDate = tmpStartCalendar.getTime() ;
			if( compareDates(endDate,tmpStartDate) ){
				months += 1 ;
			} else {
				break ;
			}
		}
		return months; 
	}
	
	/**
	 * 获取给定日期的指定月份的天数
	 * @param date
	 * @return
	 */
	public static int getDaysOfMonth(Date date){
		Calendar c = Calendar.getInstance();
		//设置为该月,例如08年1月,日期随意
		c.setTime(date);
		//获得该月的日期
		int max = c.getActualMaximum(Calendar.DATE);
		return max ;
	}
	
	/**
	 * 比较两个日期的大小
	 * 如果两个日期相等,那么将认为第一个日期大于第二个日期
	 * @param d1
	 * @param d2
	 * @return
	 */
	private static boolean compareDates(Date d1 ,Date d2){
		if( d1.getTime() - d2.getTime() >= 0){
			return true ;
		}
		return false ;
	}
}
 

 

0
1
分享到:
评论

相关推荐

    java实现备忘时钟

    在本文中,我们将深入探讨如何使用Java编程语言来实现一个备忘时钟应用程序。这个项目非常适合初学者,因为它涵盖了基础的Java编程概念,如时间处理、事件监听和用户界面设计。我们将逐步解析实现这样一个功能所需的...

    日历备忘录Java源码

    Month.java 文件表示月份逻辑,它可能包含了一个月份的日期数组,用于存储该月每一天的相关信息,如日期、星期几、是否有事件等。这个类可能会有方法来获取特定日期的事件,或者添加新的事件到特定日期。此外,它...

    Java日历及备忘录

    Java日历及备忘录程序是一个实用的桌面应用程序,它模仿了Windows操作系统中的日历功能,并添加了备忘录管理特性。这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作...

    java+Mysql开发的备忘录系统

    3. 查询备忘录:用户可以按照标题、创建日期或其他条件搜索备忘录,Java程序执行SELECT SQL查询,并将结果展示在界面上。 4. 删除备忘录:用户确认删除某条备忘录时,Java发送DELETE SQL命令,从数据库中移除相应的...

    备忘录JAVA代码

    【标题】"备忘录JAVA代码"涉及到的核心知识点主要集中在Java编程语言以及备忘录功能的实现上。Java是一种广泛使用的面向对象的编程语言,它以其"一次编写,到处运行"的特性闻名,具备强大的跨平台能力。在这个项目中...

    Java 综合案例 可编辑备忘录的日历程序 学生系统

    在提供的压缩包中,`chap9`可能包含了关于日期和时间处理,以及备忘录日历程序的相关代码。`java-net`目录可能涉及网络编程,比如HTTP请求、Socket通信等,这在实现某些日历程序的云同步或远程数据获取功能时可能会...

    java课设--个人备忘录管理系统

    创建备忘录对象,每个对象包含标题、内容、日期等属性,并提供相应的添加、删除、修改和查找方法。例如,添加备忘录时,会创建一个新的备忘录对象并将其添加到备忘录列表中;删除备忘录则会根据ID或其他标识符从列表...

    备忘录日程管理java代码

    总的来说,"备忘录日程管理java代码"项目涵盖了Java编程、GUI设计、事件处理、日期时间操作、数据存储、测试和项目管理等多个方面,是一个综合性的Java应用开发案例。通过学习和实践这样的项目,开发者可以提升自己...

    电子备忘录带密码保护的JAVA记事本.rar

    在描述中,“使用方便,记事管理”意味着这个JAVA记事本应用程序不仅提供了基本的文字记录功能,还可能包括了分类管理、日期标记、搜索等功能,让用户能够高效地管理和查找自己的记事内容。便捷的使用体验是其设计的...

    java备忘录

    在Java备忘录中,MySQL用于存储用户的备忘录信息,如标题、内容、创建日期等。开发者需要设置数据库连接参数,如数据库地址、用户名、密码,以便Java程序能正确地连接到数据库进行读写操作。 项目的源代码通常被...

    swing javadb 备忘录 记事本 临时记事

    一个自己写的备忘录程序,可以用标题和内容的形式记录一些信息,可以按照标题、记录日期、信息类型查询,导出excel数据。另外提供到期提示和闹钟功能。使用javadb嵌入式数据库,swing外观。提供Eclipse工程源代码和...

    小小工具箱-(备忘录,日历,倒计时)(java源代码)

    【标题】:“小小工具箱-(备忘录,日历,倒计时)(java源代码)”揭示了这是一个基于Java编程语言开发的多功能小型应用。这个应用集成了三种常见且实用的功能,分别是倒计时、日历以及备忘录。开发者通过Java技术...

    java小管家项目(备忘录,通讯录)

    【Java小管家项目】是一个综合性的应用程序,旨在提供日常生活的便利服务,如备忘录、通讯录和记账本功能。这个项目的核心是利用Java编程语言来构建一个用户友好的平台,帮助用户管理他们的日常生活事务。 备忘录...

    每日一记(备忘录)Java实现

    在Java中,可以定义一个`Memo`类,包含标题、内容、日期等属性,并提供相应的getter和setter方法。为了实现增删查改的功能,我们可以使用ArrayList或者更高级的数据结构如LinkedList、HashMap等来存储`Memo`对象,并...

    java毕业设计&课设-备忘录.zip

    【Java毕业设计与课设-备忘录】项目是一份基于Java技术的综合应用实践,旨在帮助学生在毕业设计或课程设计阶段深入理解和掌握Java编程语言及其相关技术。这个资源包包含了项目部署视频、源代码以及相关的学习资料,...

    一个简单的备忘录

    6. **文件管理**:由于文件名为“calendar”,可能意味着源码中还包括了日历功能,用户可以通过日历来查看和管理备忘,将备忘与日期关联,形成日程安排。 这些功能的实现依赖于安卓开发环境,包括Android Studio、...

    Calendar(带备忘录和农历功能)

    《Java Swing实现的日历应用:集成备忘录与农历功能》 在计算机编程领域,Java是一种广泛应用的编程语言,尤其在开发桌面应用方面,Java Swing提供了丰富的组件库,使得开发者可以构建出美观且功能强大的用户界面。...

    MVC.rar_MVC 数据库_java MVC 简单_java MVC mysql_mvc 数据库_备忘录

    - **实体类(Entity)**:代表备忘录的Java类,包含了备忘录的所有属性(如标题、内容、创建日期等)。 - **服务接口和服务实现**:定义了业务逻辑,如添加、更新和删除备忘录的操作,服务实现则提供具体的业务处理...

    日历和备忘录.doc

    同时,通过天干地支的转换功能,用户可以方便地查询和了解农历日期,这对于那些重视农历节日和传统习俗的人来说非常有价值。 总的来说,日历和备忘录不仅仅是现代生活工具,它们承载着深厚的文化内涵。通过学习和...

    用android studio写的一个备忘录

    - **功能实现**:编写相关方法,如输入验证、提醒设置、数据同步等。 - **测试与调试**:在模拟器或真机上进行测试,使用Logcat查看日志,找出并修复问题。 - **发布准备**:生成APK文件,进行签名和优化,准备上传...

Global site tag (gtag.js) - Google Analytics