- 浏览: 144982 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (138)
- java基础 (26)
- 日常工作经验总结 (22)
- SVN学习与使用 (1)
- JBOSS学习与实践 (1)
- webService学习与实践 (4)
- redis学习与实践 (12)
- spring学习与实践 (0)
- hibernate学习与实践 (4)
- Struts2学习与实践 (0)
- mybatis学习与实践 (0)
- SpringMVC学习与实践 (0)
- jfreechart学习与使用 (0)
- javaScript学习与实践 (1)
- linux学习与实践 (4)
- Python学习与实践 (7)
- Oracle学习与实践 (21)
- Mysql学习与实践 (4)
- HTML5+CSS3学习与实践 (0)
- DIV+CSS学习与实践 (0)
- tomcat学习与实践 (1)
- mongodb学习与实践 (1)
- Git学习与实践 (2)
- hadhoop学习与实践 (0)
- shiro学习与实践 (0)
- CMS学习与实践 (0)
- Jmeter学习与实践 (0)
- java测试学习与实践 (2)
- bootstrap学习与实践 (0)
- jquery学习与实践 (0)
- Spring+hibernate+Struts2框架开发CRM项目 (0)
- JVM学习与实践 (0)
- 推荐学习网站 (1)
- 日常工作必备小技能 (4)
- Apache实践 (1)
- dubbo学习与实践 (2)
- Centos7 (6)
- 面试题目集合(收集各大网站) (4)
- 大数据学习 (1)
- 财富本 (2)
- 股票投资学习 (0)
- ZooKeeper (0)
- python切割集合里面相同的元素到一个集合里面 (1)
- 机器学习与深度学习 (1)
最新评论
-
魏叔武:
...
基于UDP协议的Socket编程
在做项目中遇到一个关于日记的问题,国外算一周是从周末到周六,而国内一周是从周一到周天。很多软件需要获取一个月或者一周的所有日期来进行数据统计,为了方便大家开发,避免重复劳动。特地写了一个DateTools工具类,使用方法都在main函数里。
import java.text.Format; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class DateTools { public static void main(String[] args) { System.out.println("--------------当前日期下一周的每一天--------------"); List<String> lst= getALlweekDays();//获取当前日期下,一周的每一天 for(String s:lst) { System.out.println(s); } List <String>lst2=getAllDaysMonth();//获取当前日期下,一个月的每一天 System.out.println("--------------一个月的每一天--------------"); for(String s2:lst2) { System.out.println(s2); } System.out.println("--------------根据特定的日期‘2014-8-1’获取特定日期所在一周的每一天--------------"); Date d=DateTools.paraseStringToDate("2014-8-1"); List <String>lst3=DateTools.getAllweekDays(d); for(String s3:lst3) { System.out.println(s3); } System.out.println("--------------根据特定的日期‘2014-8-1’获取特定日期所在一个月的每一天--------------"); Date d2=DateTools.paraseStringToDate("2014-8-1"); List <String>lst4=DateTools.getAllDaysMonthByDate(d2); for(String s3:lst4) { System.out.println(s3); } } private static final int FIRST_DAY = Calendar.MONDAY; private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public String getMonthStart()//获取月初日期 { Date d = new Date(); // 月初 // System.out.println("月初" + sdf.format(getMonthStart(d))); return sdf.format(getMonthStart(d)); } public static String getMonthStartStr(Date d)//根据传入日期来获取一个月的开始时间 { return sdf.format(getMonthStart(d)); } public static String getMonthEndStr(Date d)//根据传入时间获取一个月月末时间 { return sdf.format(getMonthEnd(d)); } public static List<String>getAllDaysMonthByDate(Date d)//根据传入的日期获取所在月份所有日期 { List<String> lst=new ArrayList(); Date date = getMonthStart(d); Date monthEnd = getMonthEnd(d); while (!date.after(monthEnd)) { //System.out.println(sdf.format(date)); lst.add(sdf.format(date)); date = getNext(date); } return lst; } public static Date paraseStringToDate(String timestr )//将字符串转化为日期 { Date date=null; Format f = new SimpleDateFormat("yyyy-MM-dd"); try { date = (Date) f.parseObject(timestr); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return date; } public String getMonthEnd()//获取月末日期 { Date d = new Date(); return sdf.format(getMonthEnd(d)); } public static List<String>getAllDaysMonth() { List<String> lst=new ArrayList(); Date d = new Date(); // 月初 // System.out.println("月初" + sdf.format(getMonthStart(d))); // 月末 //System.out.println("月末" + sdf.format(getMonthEnd(d))); Date date = getMonthStart(d); Date monthEnd = getMonthEnd(d); while (!date.after(monthEnd)) { //System.out.println(sdf.format(date)); lst.add(sdf.format(date)); date = getNext(date); } return lst; } private static Date getMonthStart(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int index = calendar.get(Calendar.DAY_OF_MONTH); calendar.add(Calendar.DATE, (1 - index)); return calendar.getTime(); } private static Date getMonthEnd(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONTH, 1); int index = calendar.get(Calendar.DAY_OF_MONTH); calendar.add(Calendar.DATE, (-index)); return calendar.getTime(); } private static Date getNext(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DATE, 1); return calendar.getTime(); } public static String getWeekStartDay(Date d) {//根据日期来获取一周的第一天 Calendar c = Calendar.getInstance(); List <String>lst=new ArrayList(); c.setTime(d); setToFirstDay(c); for (int i = 0; i < 7; i++) { String day = printDay(c); lst.add(day); c.add(Calendar.DATE, 1); } return lst.get(0); } public static String getWeekEndtDay(Date d) {//根据日期来获取一周的最后一天 Calendar c = Calendar.getInstance(); List <String>lst=new ArrayList(); c.setTime(d); setToFirstDay(c); for (int i = 0; i < 7; i++) { String day = printDay(c); lst.add(day); c.add(Calendar.DATE, 1); } return lst.get(6); } public static List<String> getAllweekDays(Date d) {//根据日期来获取其所在周的每一天 Calendar c = Calendar.getInstance(); List <String>lst=new ArrayList(); c.setTime(d); setToFirstDay(c); for (int i = 0; i < 7; i++) { String day = printDay(c); lst.add(day); c.add(Calendar.DATE, 1); } return lst; } public static List<String> getALlweekDays() { List<String>lst=new ArrayList(); Calendar calendar = Calendar.getInstance(); setToFirstDay(calendar); for (int i = 0; i < 7; i++) { String day=printDay(calendar); lst.add(day); calendar.add(Calendar.DATE, 1); } return lst; } private static void setToFirstDay(Calendar calendar) { while (calendar.get(Calendar.DAY_OF_WEEK) != FIRST_DAY) { calendar.add(Calendar.DATE, -1); } } private static String printDay(Calendar calendar) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); return dateFormat.format(calendar.getTime()); } }
发表评论
-
java环境配置为1.6 jdk为什么cmd java -version查看版本是1.8
2019-08-05 16:24 694问题描述:由于开发环境需要多个jdk版本,故切换的时候,直接修 ... -
Springmvc操作Redis和Redis集群(java语言)
2017-07-21 21:34 0http://www.toutiao.com/a6341122 ... -
接口测试用例设计指导文档:新建、查询、修改、删除、功能以及流程等用例设计
2017-07-24 15:48 1816一、功能点测试用例(单个测试用例) 二、新建接 ... -
SQL技巧
2017-07-21 21:07 342一、一些常见的SQL实践 ... -
一个合格程序员应该会的技能点--自勉
2017-05-02 10:54 463操作系统:centos+windows7 工具类使用: ec ... -
org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'a
2017-04-09 15:05 1760org.springframework.beans.facto ... -
eclipse中快速关闭所有打开的html,jap,java文件等
2017-03-01 08:58 753如下图所示,为了演示,只打开了三四个文件,如果更加多呢? 第 ... -
eclipse常用的一些快捷方式
2017-03-01 08:45 390[b]Eclipse中有如下一些和编辑相关的快捷键。 ... -
An internal error occurred during: "Launching java.lang.NullPointerException
2017-02-23 08:19 663如果出现了上述的错误按照如下的3个步骤解决: 1、首先关闭 ... -
Eclipse Class Decompiler——Java反编译插件
2017-02-17 09:11 0Eclipse Class Decompiler,整合了目前最 ... -
格式化日期,添加中文显示
2017-01-18 11:39 376... -
Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If
2017-01-10 22:15 492解决办法: 找到自己的eclipse工作空间的 serv ... -
java.lang.ClassCastException:[Ljava.lang.Object;cannot be cast to java.util.List
2017-01-05 09:37 1439使用 SQLQuery query = this.getSes ... -
java.sql.SQLException: sql injection violation, syntax error: syntax error, erro
2017-01-02 11:05 2387在用alibaba的druid连接池的时候,报错误: jav ... -
EXCEL统计一个列中重复的数据的快捷方法
2016-12-21 13:49 454excel里面有个函数: =IF(COUNTIF($A$2: ... -
eclipse打开就自动关闭了。解决办法
2016-12-20 08:53 488到eclipse的工作空间 删除文件workspace目录下 ... -
errorcould not open ...jvm.cfg解决方法
2016-12-19 16:53 848出现这种情况大多是因为电脑上之前安装过JDK,卸载重装之后,运 ... -
eclipse中修改项目的名称
2016-12-19 16:44 381一、右键工程:Refactor->Rename,或选中工 ... -
windows7重转系统,cannot display this video mode,如何处理?
2016-11-25 15:34 990原因是:分辨率设得太高了,可以从安全模式恢复,如下: 一:在 ... -
浏览器F12查看action变化
2016-10-26 16:21 422今天工作的时候,用chrome浏览器,f12的时候,查看act ...
相关推荐
java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等
基于Java语言编写的Spring Boot时间工具类方法封装,主要方法如下:根据日期获取该日期内24小时的整点时刻、获取当月的 天数、根据 年、月 获取对应的月份 的 天数、根据指定日期得获取对应月份的所有日期的每日结束...
本文将详细介绍一个Java程序中的实用工具类——`WeekUtil`,该类主要用于处理与周相关的各种计算问题,如确定某个日期所在的周数、获取指定周的第一天和最后一天等。这对于需要根据日期进行周统计的应用场景非常有用...
在Java编程语言中,开发一个可以输入任意年月并输出对应月份万年历的功能,是一项常见的日期处理任务。万年历通常是指一种显示特定日期范围内日程和日期信息的工具,这里我们关注的是如何通过纯代码实现,不依赖任何...
通过创建一个`Calendar`实例,设置年份和月份,然后将日期设为1,月份加1,再减去一天,即可得到上一月的最后一天。在Java 8及更高版本中,可以使用`YearMonth`类的`lengthOfMonth()`方法更直观地获取。 5. **获取...
这个"Java日历小工具"很可能是开发者为了方便用户查询任意日期而创建的一个实用程序。下面我们将详细探讨Java日历API以及如何利用它来构建这样的小工具。 首先,`java.util.Calendar`是Java标准库中的一个抽象类,...
在Java编程语言中,显示一周各星期的名称涉及到日期和时间处理,这是Java中的一个核心概念。Java提供了`java.time`包,其中包含了一系列类来处理日期、时间和时区。在Java 8及以上版本,我们可以使用`DayOfWeek`枚举...
你可以通过 `now()` 方法获取当前日期,或者通过 `of()` 方法指定年、月和日来创建日期。 2. **LocalTime**: 对应于一天中的时间,不包含日期或时区信息。`LocalTime` 提供了获取当前时间、设置小时、分钟和秒的...
类中可能有`getMondayOfWeek(Date date)`这样的方法,返回给定日期所在周的星期一,或者`getFirstDayOfMonth(Date date)`获取指定日期所在月的第一天。这些功能可以通过计算日期与目标星期或月份起始日期之间的差值...
获取指定年的第几周的最后一天日期 获取指定年的第几周的第一天日期 获取指定日期为当前年的第几周 获取指定日期中的月份 获得当前月的第一天 获得当前月的最后一天 获得月份中的第几天 获取当前时间前2个小时的时间...
根据指定日期获取上个月日期 计算前推或者后推x月的数据 将年月日时分秒转换为时分秒 获得两个月份之间字符串集合 获取当前时间的前n天(时间格式自定义格式) 将日期字符串转为指定格式的日期字符串
* 获取指定时间范围的最后一天 * * @param dateRangeType * 时间范围类型 * @param offset * 偏移量 * @return Date */ public Date getLastDate(int dateRangeType, int offset) { return null...
### 如何根据日期获取当前是星期几 在日常生活中,我们经常会遇到需要判断某一天具体是星期几的需求,尤其是在编写程序或进行数据处理时。本文将详细介绍如何通过编程语言(以C#为例)实现这一功能。 #### 核心...
标题 "日历查看课程(支持从指定日期开始显示日历)" 暗示了这是一个关于开发具有特定功能的日历视图的应用程序或组件。这个日历不仅展示日期,还能根据用户需求从指定的日期开始展示,这在教育、计划管理或者时间...
Quartz 是一个强大的开源作业调度框架,用于在 Java 应用程序中实现复杂的时间调度任务。它允许开发者创建、调度和执行周期性任务,而无需直接处理线程或时间触发器。在这个“quartz 实现按天、按周、按月定时任务的...
库提供了许多便捷的计算方法,如计算两个日期之间的差距、获取某个日期的下一个或上一个工作日、计算某个月份的天数等,这些都是Java标准库中不易实现的功能。 6. **线程安全**: JTimepiece设计时考虑到了多线程...
Java 8的新API还引入了`TemporalAdjuster`接口,允许进行复杂的日期调整操作,例如获取下一个工作日或上一个星期五。此外,`TemporalAmount`接口用于表示任意时间量,例如`Period`和`Duration`,它们分别用于日期和...
其中,`LocalDate`用于表示不带时区的日期,`YearMonth`用于表示年和月,`DayOfWeek`表示一周中的哪一天,这些都是构建万年历的核心类。通过这些类的组合和方法调用,可以方便地获取任何年份、月份的日历数据。 ...
为了创建一个`GregorianCalendar`实例,我们需要指定年、月和日作为参数。例如,在上面的代码片段中,有以下代码行: ```java Calendarrn=newGregorianCalendar(y,m-1,1); ``` 这里,`y`表示年份,`m`表示月份...
此外,`java.time`包下的`TemporalAdjusters`可以用来创建复杂的日期调整器,例如下一个工作日或上个月的第一天。 在编写时间日历小程序时,你可能会实现以下功能: 1. 显示当前日期和时间。 2. 让用户输入年、月、...