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 ;
}
}
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Java编程语言来实现一个备忘时钟应用程序。这个项目非常适合初学者,因为它涵盖了基础的Java编程概念,如时间处理、事件监听和用户界面设计。我们将逐步解析实现这样一个功能所需的...
Month.java 文件表示月份逻辑,它可能包含了一个月份的日期数组,用于存储该月每一天的相关信息,如日期、星期几、是否有事件等。这个类可能会有方法来获取特定日期的事件,或者添加新的事件到特定日期。此外,它...
Java日历及备忘录程序是一个实用的桌面应用程序,它模仿了Windows操作系统中的日历功能,并添加了备忘录管理特性。这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作...
3. 查询备忘录:用户可以按照标题、创建日期或其他条件搜索备忘录,Java程序执行SELECT SQL查询,并将结果展示在界面上。 4. 删除备忘录:用户确认删除某条备忘录时,Java发送DELETE SQL命令,从数据库中移除相应的...
【标题】"备忘录JAVA代码"涉及到的核心知识点主要集中在Java编程语言以及备忘录功能的实现上。Java是一种广泛使用的面向对象的编程语言,它以其"一次编写,到处运行"的特性闻名,具备强大的跨平台能力。在这个项目中...
在提供的压缩包中,`chap9`可能包含了关于日期和时间处理,以及备忘录日历程序的相关代码。`java-net`目录可能涉及网络编程,比如HTTP请求、Socket通信等,这在实现某些日历程序的云同步或远程数据获取功能时可能会...
创建备忘录对象,每个对象包含标题、内容、日期等属性,并提供相应的添加、删除、修改和查找方法。例如,添加备忘录时,会创建一个新的备忘录对象并将其添加到备忘录列表中;删除备忘录则会根据ID或其他标识符从列表...
总的来说,"备忘录日程管理java代码"项目涵盖了Java编程、GUI设计、事件处理、日期时间操作、数据存储、测试和项目管理等多个方面,是一个综合性的Java应用开发案例。通过学习和实践这样的项目,开发者可以提升自己...
在描述中,“使用方便,记事管理”意味着这个JAVA记事本应用程序不仅提供了基本的文字记录功能,还可能包括了分类管理、日期标记、搜索等功能,让用户能够高效地管理和查找自己的记事内容。便捷的使用体验是其设计的...
在Java备忘录中,MySQL用于存储用户的备忘录信息,如标题、内容、创建日期等。开发者需要设置数据库连接参数,如数据库地址、用户名、密码,以便Java程序能正确地连接到数据库进行读写操作。 项目的源代码通常被...
一个自己写的备忘录程序,可以用标题和内容的形式记录一些信息,可以按照标题、记录日期、信息类型查询,导出excel数据。另外提供到期提示和闹钟功能。使用javadb嵌入式数据库,swing外观。提供Eclipse工程源代码和...
【标题】:“小小工具箱-(备忘录,日历,倒计时)(java源代码)”揭示了这是一个基于Java编程语言开发的多功能小型应用。这个应用集成了三种常见且实用的功能,分别是倒计时、日历以及备忘录。开发者通过Java技术...
【Java小管家项目】是一个综合性的应用程序,旨在提供日常生活的便利服务,如备忘录、通讯录和记账本功能。这个项目的核心是利用Java编程语言来构建一个用户友好的平台,帮助用户管理他们的日常生活事务。 备忘录...
在Java中,可以定义一个`Memo`类,包含标题、内容、日期等属性,并提供相应的getter和setter方法。为了实现增删查改的功能,我们可以使用ArrayList或者更高级的数据结构如LinkedList、HashMap等来存储`Memo`对象,并...
【Java毕业设计与课设-备忘录】项目是一份基于Java技术的综合应用实践,旨在帮助学生在毕业设计或课程设计阶段深入理解和掌握Java编程语言及其相关技术。这个资源包包含了项目部署视频、源代码以及相关的学习资料,...
6. **文件管理**:由于文件名为“calendar”,可能意味着源码中还包括了日历功能,用户可以通过日历来查看和管理备忘,将备忘与日期关联,形成日程安排。 这些功能的实现依赖于安卓开发环境,包括Android Studio、...
《Java Swing实现的日历应用:集成备忘录与农历功能》 在计算机编程领域,Java是一种广泛应用的编程语言,尤其在开发桌面应用方面,Java Swing提供了丰富的组件库,使得开发者可以构建出美观且功能强大的用户界面。...
- **实体类(Entity)**:代表备忘录的Java类,包含了备忘录的所有属性(如标题、内容、创建日期等)。 - **服务接口和服务实现**:定义了业务逻辑,如添加、更新和删除备忘录的操作,服务实现则提供具体的业务处理...
同时,通过天干地支的转换功能,用户可以方便地查询和了解农历日期,这对于那些重视农历节日和传统习俗的人来说非常有价值。 总的来说,日历和备忘录不仅仅是现代生活工具,它们承载着深厚的文化内涵。通过学习和...
- **功能实现**:编写相关方法,如输入验证、提醒设置、数据同步等。 - **测试与调试**:在模拟器或真机上进行测试,使用Logcat查看日志,找出并修复问题。 - **发布准备**:生成APK文件,进行签名和优化,准备上传...