import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
/**
* @author ken
* @Time 2011-12-18
*
*/
public class CalenderUtil {
public static void main(String[] args) throws ParseException {
//以取当天所在月份为例
List<String> list = AllDayOfMonth(new java.text.SimpleDateFormat(
"yyyy-MM").parse("2011-12-18"));
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println(isLeapYear(2011));
}
public static List<String> AllDayOfMonth(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DATE, 1);//当月第一天
System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime())));
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
int firstday = c.get(Calendar.DAY_OF_MONTH); //当月第一天
System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime())));
Calendar lc = Calendar.getInstance();
lc.setTime(date);
lc.add(Calendar.MONTH, 1);//月份加1
lc.set(Calendar.DATE, 0);//再减一天即是上月最后一天
lc.set(Calendar.HOUR_OF_DAY, 23);
lc.set(Calendar.MINUTE, 59);
lc.set(Calendar.SECOND, 59);
lc.set(Calendar.MILLISECOND, 999);
int lastday = lc.get(Calendar.DAY_OF_MONTH);
System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(lc.getTime())));
Calendar nowDate = Calendar.getInstance();
nowDate.setTime(date);
List<String> list = new ArrayList<String>();
for (int i = 1; i < 2 + lastday - firstday; i++) {
nowDate.set(Calendar.DAY_OF_MONTH, i);
list.add(new java.text.SimpleDateFormat("yyyy-MM-dd").format(nowDate.getTime()));
}
return list;
}
/**
* 是否闰年
*
* @param year
* @return
*/
public static boolean isLeapYear(int year) {
//return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
return new GregorianCalendar().isLeapYear(year);
}
}
分享到:
相关推荐
在Android开发中,`Calender`日历组件是构建时间管理类应用不可或缺的一部分。...通过学习和掌握`CalendarView`的使用,以及探索更高级的第三方库,开发者可以创建出功能丰富、用户体验良好的日历应用。
通过研究“android calender”的官方源码,开发者可以深入了解日历应用的工作原理,学习如何高效地操作日历数据,优化查询性能,以及如何自定义日历视图以满足特定需求。此外,源码中还可能包含了一些错误处理和异常...
综上所述,`ios calender`项目提供了一个深入学习和实践iOS日历功能的平台,涵盖了从获取权限、创建和保存事件到自定义日历视图的全过程。通过`JTCalendar-master`,开发者可以学习到如何高效地集成日历功能,并为...
通过分析这个 "js+html Calender 日历",我们可以学习到前端开发中的HTML布局、CSS美化、JavaScript交互等多方面技能,对于提升网页应用的用户体验具有重要作用。如果你进一步探索jsCalendar这个项目,将能够深入...
本项目"calender_verilog_"是利用Verilog语言实现的一个万年历功能,具备自动进位功能,可以准确计算400年内的日期。 在Verilog中,万年历的设计通常会涉及到以下几个核心知识点: 1. **模块定义**:在`calender.v...
在本文中,我们将深入探讨MFC(Microsoft Foundation Classes)日历控件的开发,这是一个基于C++的编程项目,用于创建美观且功能丰富...对于希望学习MFC或者Windows GUI编程的C++程序员来说,这是一个极好的学习资源。
通过学习和实践,开发者不仅可以掌握日历插件的用法,还能加深对jQuery和前端交互设计的理解,提升自己的技能水平。在实际项目中,可以根据需求对这个示例进行修改和扩展,以创建个性化的日历解决方案。
通过这个案例,你不仅可以学习到`calender`日历插件的基本用法,还能掌握如何在实际开发中整合和使用此类插件。同时,对于前端和后端交互的理解,以及数据库操作的实践也会有所帮助。记得在实践中多思考,理解每一...
在IT行业中,日期选择是网页应用中常见的功能,特别是在数据管理、日程安排或报告生成等场景。...通过深入学习和理解这个案例,开发者可以增强自己的JavaScript实战能力,特别是在构建自定义用户界面组件方面。
AutoJs源码-Calender。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!。3、...
标题中的"proj---cal.rar_...对于想要学习J2ME或移动设备日历应用开发的人来说,这是一个很好的实践案例。通过解压文件并阅读源代码,可以深入理解J2ME应用程序的工作原理以及如何在资源有限的移动设备上实现复杂功能。
根据使用说明.txt中的指导,开发者可以学习如何创建日历实例,设置初始日期,以及如何监听用户的日期选择事件,以便在用户做出选择时执行相应的业务逻辑。 此外,"Calender.jar"还支持自定义样式和主题,允许开发者...
通过以上知识点的学习和实践,你可以创建一个功能齐全的日历应用,满足用户日常的时间管理需求。在深入研究"calender_calendar_"的示例代码时,会更具体地了解到这些概念如何在实际代码中体现。
【MMS_040382]Application of Fabric Calender.rar】是一个关于应用AB PLC(Allen Bradley Programmable Logic Controller)的压缩包文件,主要针对纺织行业的织物压延机(Fabric Calender)操作和控制。这个压缩包...
通过阅读和理解这个文件,我们可以深入学习JavaScript如何构建实用的前端组件,并且可以根据需求进行自定义和扩展。 总的来说,用JavaScript编写日期面板组件是一项涉及多方面技能的任务,它不仅锻炼了开发者对...
【标题】"HW calender-ED_萬年曆_"是一个C语言编程作业,目标是创建一个基础的萬年曆程序,同时包含了详细的注释,以帮助理解代码的实现逻辑。 【描述】中提到的“C語言程式作業:基本萬年曆(含註解)使用函式”意味...
Android 生成一个calender日历组件功能,日历组件相信大家都知道是干什么的吧,calender可以让用户快速准确的去选择日期和时间传递给程序,以进行下一步的处理操作。...而且里面的很多技巧是可以学习的。
对于想要提升JavaScript技能或者对日历功能感兴趣的开发者来说,这是一个极好的学习资源。通过深入研究该项目,不仅可以掌握JavaScript在实际项目中的应用,还能了解到中国传统文化与现代技术的结合,提升自己的综合...
jQuery_Calender 由jQuery支持的Homework 5的动态日历描述面临的挑战是构建一个简单而实用的工作日压光机。 添加到每个文本区域的数据将保存到本地存储,并在重新加载后保留。 此外,每个小时需要更改每个文本区域的...
【VC++ 编写的calender带农历的日历】是一个经典的编程项目,主要使用Microsoft的Visual C++开发环境,结合了公历与农历的功能,为用户提供了一个实用的日历工具。这个项目涉及的知识点主要包括: 1. **MFC框架**:...