- 浏览: 361065 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (55)
- java基础 (18)
- oracle (13)
- PL/SQL (8)
- Hibernate (3)
- JDBC (1)
- JVM (1)
- Dump (1)
- windows (2)
- struts2 (2)
- SQL (3)
- OGNL (1)
- Web前端 (3)
- 开发工具 (4)
- weblogic (0)
- shell (0)
- linux (1)
- windows,项目实施 (0)
- eclipse (3)
- SVN (1)
- vmware (2)
- 虚拟机 (2)
- hadoop (0)
- Android (0)
- 大数据 (2)
- Jquery (3)
- js (5)
- js,ajax (4)
- CKeditor (1)
- HTML (1)
- mysql (0)
最新评论
-
alangxi:
非常详尽,非常感谢。
BigDecimal 使用方法详解 -
nich002:
内容很详尽。
BigDecimal 使用方法详解 -
nich002:
看着真蛋疼。
BigDecimal 使用方法详解 -
zhangyinhu8680:
jz20110918 写道想问问楼主,sqlserver的 S ...
Oracle SQL中实现indexOf和lastIndexOf功能,substr和instr用法 -
zhangyinhu8680:
数据库我只用过oracle,sqlServer我我没有接触过, ...
Oracle SQL中实现indexOf和lastIndexOf功能,substr和instr用法
资料整合:
(一).今天的日期,两天前的日期,三天后的日期
(二).JAVA处理日期时间常用方法:
1.java.util.Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
例:
得到2007-12-25日期:
java月份是从0-11,月份设置时要减1.
GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.
取日期的部分:
取月份要加1.
判断当前月份的最大天数:
2.java.util.Date
取当月的第一天:
取当月的最后一天:
求两个日期之间相隔的天数:
一年前的日期:
一年后的日期:
求10小时后的时间
求10小时前的时间
取得指定日期是星期几:
a、使用Calendar类
b、使用SimpleDateFormat类
取得日期是某年的第几周
3.java.sql.Date
继承自java.util.Date,是操作数据库用的日期类型
日期比较:简单的比较可以以字符串的形式直接比较,也可使用
java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式来比较日期的大小.也可使用java.util.Date.after(java.util.Date)来比较.
相差时间:
long difference=c2.getTimeInMillis()-c1.getTimeInMillis();
相差天数:long day=difference/(3600*24*1000)
相差小时:long hour=difference/(3600*1000)
相差分钟:long minute=difference/(60*1000)
相差秒: long second=difference/1000
补充:
08-4-15 下午3:24
2008-4-15 15:24:31
2008年4月15日 下午03时24分31秒
2008年4月15日 星期二 下午03时24分31秒CST
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 1); // 目前時間加1個月
System.out.println(df.format(c.getTime()));
c.add(Calendar.HOUR, 3); // 目前時間加3小時
System.out.println(df.format(c.getTime()));
c.add(Calendar.YEAR, -2); // 目前時間減2年
System.out.println(df.format(c.getTime()));
c.add(Calendar.DAY_OF_WEEK, 7); // 目前的時間加7天
System.out.println(df.format(c.getTime()));
资料来自互联网,自己整合;
(一).今天的日期,两天前的日期,三天后的日期
Date d=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(d)); System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - (long)2 * 24 * 60 * 60 * 1000))); System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + (long)3 * 24 * 60 * 60 * 1000)));
(二).JAVA处理日期时间常用方法:
1.java.util.Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
例:
Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天. cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天. //通过格式化输出日期 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); System.out.println("Today is:"+format.format(Calendar.getInstance().getTime())); System.out.println("yesterday is:"+format.format(cal.getTime())); Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天. cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天. //通过格式化输出日期 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); System.out.println("Today is:"+format.format(Calendar.getInstance().getTime())); System.out.println("yesterday is:"+format.format(cal.getTime()));
得到2007-12-25日期:
Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0); Date date = calendar.getTime(); System.out.println("2007 Christmas is:"+format.format(date)); Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0); Date date = calendar.getTime(); System.out.println("2007 Christmas is:"+format.format(date));
java月份是从0-11,月份设置时要减1.
GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.
取日期的部分:
int year =calendar.get(Calendar.YEAR); int month=calendar.get(Calendar.MONTH)+1; int day =calendar.get(Calendar.DAY_OF_MONTH); int hour =calendar.get(Calendar.HOUR_OF_DAY); int minute =calendar.get(Calendar.MINUTE); int seconds =calendar.get(Calendar.SECOND); int year =calendar.get(Calendar.YEAR); int month=calendar.get(Calendar.MONTH)+1; int day =calendar.get(Calendar.DAY_OF_MONTH); int hour =calendar.get(Calendar.HOUR_OF_DAY); int minute =calendar.get(Calendar.MINUTE); int seconds =calendar.get(Calendar.SECOND);
取月份要加1.
判断当前月份的最大天数:
Calendar cal = Calendar.getInstance(); int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(day); Calendar cal = Calendar.getInstance(); int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(day);
2.java.util.Date
java.util.Date today=new java.util.Date(); System.out.println("Today is "+formats.format(today)); java.util.Date today=new java.util.Date(); System.out.println("Today is "+formats.format(today));
取当月的第一天:
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01"); java.util.Date firstDay=new java.util.Date(); System.out.println("the month first day is "+formats.format(firstDay)); java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01"); java.util.Date firstDay=new java.util.Date(); System.out.println("the month first day is "+formats.format(firstDay));
取当月的最后一天:
Calendar cal = Calendar.getInstance(); int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH); java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay); System.out.println(formatter3.format(cal.getTime())); Calendar cal = Calendar.getInstance(); int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH); java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay); System.out.println(formatter3.format(cal.getTime()));
求两个日期之间相隔的天数:
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date beginDate= format.parse("2007-12-24"); java.util.Date endDate= format.parse("2007-12-25"); long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); System.out.println("相隔的天数="+day); java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date beginDate= format.parse("2007-12-24"); java.util.Date endDate= format.parse("2007-12-25"); long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); System.out.println("相隔的天数="+day);
一年前的日期:
java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long beforeTime=(todayDate.getTime()/1000)-60*60*24*365; todayDate.setTime(beforeTime*1000); String beforeDate=formatter.format(todayDate); System.out.println(beforeDate); java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long beforeTime=(todayDate.getTime()/1000)-60*60*24*365; todayDate.setTime(beforeTime*1000); String beforeDate=formatter.format(todayDate); System.out.println(beforeDate);
一年后的日期:
java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long afterTime=(todayDate.getTime()/1000)+60*60*24*365; todayDate.setTime(afterTime*1000); String afterDate=formatter.format(todayDate); System.out.println(afterDate); java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long afterTime=(todayDate.getTime()/1000)+60*60*24*365; todayDate.setTime(afterTime*1000); String afterDate=formatter.format(todayDate); System.out.println(afterDate);
求10小时后的时间
java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,10); System.out.println("date:"+forma.format(Cal.getTime())); java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,10); System.out.println("date:"+forma.format(Cal.getTime()));
求10小时前的时间
java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,-10); System.out.println("date:"+forma.format(Cal.getTime())); java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,-10); System.out.println("date:"+forma.format(Cal.getTime()));
取得指定日期是星期几:
a、使用Calendar类
int weekDay = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); public static String getWeek(Date date){ String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; Calendar cal = Calendar.getInstance(); cal.setTime(date); int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1; if(week_index<0){ week_index = 0; } return weeks[week_index]; }
b、使用SimpleDateFormat类
01.//根据日期取得星期几 public static String getWeek(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); String week = sdf.format(date); return week; }
取得日期是某年的第几周
01.//取得日期是某年的第几周 public static int getWeekOfYear(Date date){ Calendar cal = Calendar.getInstance(); cal.setTime(date); int week_of_year = cal.get(Calendar.WEEK_OF_YEAR); return week_of_year; }
3.java.sql.Date
继承自java.util.Date,是操作数据库用的日期类型
java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime()); java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());
日期比较:简单的比较可以以字符串的形式直接比较,也可使用
java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式来比较日期的大小.也可使用java.util.Date.after(java.util.Date)来比较.
相差时间:
long difference=c2.getTimeInMillis()-c1.getTimeInMillis();
相差天数:long day=difference/(3600*24*1000)
相差小时:long hour=difference/(3600*1000)
相差分钟:long minute=difference/(60*1000)
相差秒: long second=difference/1000
补充:
DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss"); System.out.println(df.format(new Date())); Date date = new Date(); DateFormat shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); DateFormat mediumDate =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); DateFormat longDate =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); DateFormat fullDate =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); system.out.println(shortDate.format(date)); System.out.println(mediumDate.format(date)); System.out.println(longDate.format(date)); System.out.println(fullDate.format(date));
08-4-15 下午3:24
2008-4-15 15:24:31
2008年4月15日 下午03时24分31秒
2008年4月15日 星期二 下午03时24分31秒CST
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 1); // 目前時間加1個月
System.out.println(df.format(c.getTime()));
c.add(Calendar.HOUR, 3); // 目前時間加3小時
System.out.println(df.format(c.getTime()));
c.add(Calendar.YEAR, -2); // 目前時間減2年
System.out.println(df.format(c.getTime()));
c.add(Calendar.DAY_OF_WEEK, 7); // 目前的時間加7天
System.out.println(df.format(c.getTime()));
资料来自互联网,自己整合;
发表评论
-
Spring的作用域以及RequestContextListener作用
2015-09-28 11:01 0分类: spring 2013-01-28 09:54 114 ... -
如何在spring中获取request对象
2015-08-06 19:11 0如何在spring中获取request对象 2014-04-3 ... -
Java 反射之私有字段和方法详细介绍
2015-02-16 16:31 1616尽管我们通常认为通过JAVA的反射机制来访问其它类的私有字段和 ... -
deleteCharAt()方法和delete()实例
2014-11-26 09:19 4451以下例子将告诉你如何使用 java.lang.StringBu ... -
Notepad++插件使用技巧,转自各方
2014-10-20 21:16 980http://www.360doc.com/content/1 ... -
灰色预测java实现
2014-10-20 21:15 1896/** * 灰度预测模型 * * @author Se ... -
JAVA中运用数组的四种排序方法
2014-03-20 10:03 0JAVA中在运用数组进行排序功能时,一般有四种方法:快速排 ... -
ArrayUtils使用详解
2013-06-14 16:58 3739ArrayUtils 拥有以下方法: toString 将一 ... -
hibernate通过映射文件生成表结构
2013-05-12 14:38 0文章来自 http://dianziermu. ... -
log4j详解与实战
2013-03-20 13:57 898http://www.iteye.com/topic/3780 ... -
SVN更改用户
2013-01-08 14:39 1704由于在svn的界面中并没 ... -
在eclipse 设置编辑区、控制台、xml等文本文件字体大小
2012-12-30 19:32 9044eclipse 编辑区 设置字体大小: 窗口(Window) ... -
jfreechart
2012-09-06 10:32 0jfreechart -
Eclipse中载入Java(JDK) 源代码 详解(实例说明)
2012-07-11 10:46 6872在Eclipse中,很多朋友遇到过这样的问题:开发过程中会经常 ... -
java中处理时间的系列代码明细
2012-06-23 09:04 1410Java代码 /** 日期类 * @date * ... -
OGNL表达式
2012-10-23 11:25 1801OGNL表达式(2011-12-30 10:50: ... -
Java常用类型转换
2012-05-21 16:20 2109(一)Integer类型 1).定义 Inte ... -
BigDecimal 使用方法详解
2012-05-21 16:25 155281BigDecimal 由任意精度的整数非标度值 和 32 位的 ... -
Hashtable和HashMap有什么区别 .
2012-04-26 22:42 22971.Hashtable和HashMap有什么区别? a.H ... -
ORM学习
2012-04-22 11:28 1392这是最后一篇Java杂谈了,以ORM框架的谈论收尾,也算是把J ...
相关推荐
你可以通过阅读这些文件来学习具体的实现细节,包括类的定义、方法的实现以及如何处理用户输入和输出。通过分析和理解这些代码,你将能进一步提升自己的Java编程技能。 总的来说,编写一个Java计算器是学习和掌握...
在Java编程中,获取系统时间是一项基本而重要的功能,常用于日期处理、定时任务、日志记录等场景。本文将详细介绍三种常用的获取系统时间的方法,并通过一个示例程序来具体演示这些方法的实际应用。 #### 方法一:...
具体到这个“完整版的测试代码”,它应该包含了上述所有步骤的实现,包括构建HTTP请求,解析返回的JSON,处理异常,以及可能的测试用例。文件名为“Weather”的可能是一个Java类,包含了获取天气信息的逻辑和测试...
根据给定文件的信息,本文将深入探讨 Java 中与时间处理相关的知识,重点在于获取特定日期的方法及其实现细节。文章将覆盖如下知识点: 1. **Java 时间类的基础介绍** 2. **日期格式化与解析** 3. **获取当前日期、...
在Java编程中,获取系统时间的操作通常是通过`java.util.Date`类或`java.time`包下的类来实现的。然而,标题"java 获取系统时间错误,少了8小时"表明开发者在尝试获取系统时间时遇到了一个时区问题。这通常与Java中...
它提供了一些静态方法来创建、删除、重命名文件和目录,以及获取文件属性(如大小、最后修改时间等)。 4. **FileInputStream和FileOutputStream的使用**:使用这两个类可以读写二进制文件,如图片、音频或视频文件...
在Java编程中,获取服务器时间通常涉及到网络通信和图形用户界面(GUI)的开发。这里我们主要关注两个关键部分:使用UDP协议进行C/S模式的通信以及构建GUI来展示服务器返回的时间。 首先,UDP(User Datagram ...
如果这个文件包含了代码示例,你可以打开查看具体实现,进一步学习和理解Java日期时间操作的细节。 总之,理解和熟练掌握Java的日期时间操作对于开发人员来说至关重要,无论是在处理用户输入、记录日志还是进行复杂...
总的来说,"简单订单系统实现java源代码"项目是一个综合性的学习资源,涵盖了Java编程、面向对象设计、数据库操作、MVC框架应用以及异常处理等多个方面的知识。通过深入研究这个系统,不仅可以提升Java编程能力,还...
在给定的代码片段中,我们能够看到一个简单的实现方式来获取当前的年、月、日以及时间等信息。下面我们将对这段代码进行详细解析,并深入探讨其背后涉及的关键知识点。 #### 1. 获取系统当前时间 ```java long ...
### JAVA获取系统时间知识点详解 在Java编程语言中,获取并格式化系统当前时间是一项非常基础且常用的操作。本文档将详细介绍如何利用Java内置类来实现这一功能,并深入探讨其中涉及的重要概念和技术细节。 #### ...
在处理日期和时间时,一个常见的需求是获取特定月份的最大天数,这可以通过`Calendar`的`getActualMaximum()`方法实现,如`cal.getActualMaximum(Calendar.DAY_OF_MONTH)`。 如果你需要进行更复杂的日期时间操作,...
本文将详细介绍如何使用Java和OpenCV从视频文件中获取帧,并提供了具体的代码实例。 OpenCV是计算机视觉和机器学习的开源库,它提供了大量的图像和视频处理函数库。Java是最流行的编程语言之一,使用Java和OpenCV...
它是`Calendar`类的一个具体实现,能够处理公历(格里高利历)中的日期和时间。当我们需要获取系统的当前时间时,`GregorianCalendar`类提供了一个方便的方法。下面将详细介绍如何使用`GregorianCalendar`来获取系统...
根据给定文件的信息,我们可以总结出以下关于Java中获取各种常用时间的方法的知识点: ### Java获取各种常用时间方法 在Java编程中,处理日期和时间是常见需求之一。本篇文章将详细介绍如何使用Java来获取一些常用...
下面我们将详细探讨Java中处理时间的相关知识点。 在Java中,日期和时间的处理主要涉及到以下几个类: 1. `java.util.Date`:这是Java早期提供的日期类,它包含了日期和时间的信息。但是,由于这个类的设计并不...
它可能有一个`main`方法作为程序的入口点,以及其他的辅助方法来实现具体功能。 8. **编程实践**:良好的编程实践包括使用适当的变量命名,添加注释以解释代码功能,以及遵循代码格式规范,使得代码易于阅读和维护...
对于`SyncTime.java`的具体实现,我们可以假设它可能包含了如下关键代码段: ```java import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class SyncTime { ...
自动化的代码生成减少了手动编写这些通用代码的时间,使开发者能更专注于业务逻辑的实现。 3. **MyBatis**: MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC...
下面通过一个示例程序来具体说明如何使用Sigar来获取进程的PID、用户、启动时间、大小、所占内存、状态、运行时间、CPU使用率以及命令等信息。 #### 示例代码分析 ```java private static final int SLEEP_TIME = ...