- 浏览: 978502 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
Mr.Cheney:
去掉 UUID字符串中的“-” 直接replaceAll(&q ...
JAVA生成全局唯一ID 使用 java.util.UUID -
呜哩喵:
楼主nice
java中的时间操作 -
zxs6587:
Thinking inJava我读着好像说要建立基类对象啊!请 ...
创建子类的对象时也要创建其所有父类的对象? -
just_Word:
getFullYear
date.getyear -
JamesQian:
我觉得楼上的synchronized(this),notify ...
notify() wait()
Date类:
Date类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1月1日00:00:00这一刻之前或者是之后经历的毫秒数。
Date类常用的两个构造函数:
Date()无参数的构造函数创建的对象可以获取本地当前时间。
Date(long time)使用一个从GMT(格林尼治标准时间)1970年, 1月1日00:00:00这一刻之前或者是之后经历的毫秒数创建一个Date对象
Date示例:
Date date = new Date();
System.out.println(date.getTime()); //1228061164796
System.out.println(date.toString()); //Mon Dec 01 00:06:04 CST 2008
日期数据的定制格式:(DateFormat类、SimpleDateFormat类)
为了定制日期数据的输出格式,我们可以使用DateFormat的子类SimpleDateFormat。SimpleDateFormat有个常用构造方法:
public SimpleDateFormat(String pattern) //pattern指定输出格式
pattern中可以有如下格式符:
y,yy:用2位数字表示的"年"替换。
yyyy:用4位数字表示的"年"替换。
M,MM:用2位数字表示的"月"替换。
MMM:用汉字表示的"月"替换。
d,dd:用2位数字表示的"日"替换。
H,HH:用2位数字表示的"时"替换。
m,mm:用2位数字表示的"分"替换。
s,ss:用2位数字表示的"秒"替换。
E:用"星期"替换
pattern中的普通ASCII字符,必须用单引号“'”字符括起来,如:
pattern="'time':yyyy-MM-dd";
用SimpleDateFormat对象调用如下方法可以定制某时间输出格式:
public String format(Date date)
实例:
SimpleDateFormat sdf = new SimpleDateFormat(" 'time':yyyy-MM-dd");
System.out.println(sdf.format(date)); // time:2008-12-01
假如我们由一个文本字符串包含一个格式化了的日期对象,现在从这个字符串中解析日期数据创建一个日期对象。
使用SimpleDateFormat对象调用如下函数创建一个Date对象:
Date java.text.DateFormat.parse(String source)
实例:
String str="2008-12-1";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try{
Date date=sdf.parse(str);
System.out.println(date); //Mon Dec 01 00:00:00 CST 2008
}
catch(Exception ex){
System.out.println(ex.getMessage());
}
使用标准的日期格式化过程:
常用的两个获取日期/时间格式器的方法:
public static final DateFormat getDateTimeInstance() //具有默认语言环境的默认格式化风格。
public static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle) //具有默认语言环境的给定日期和时间格式化风格。
实例:
Date date = new Date();
DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
DateFormat longDateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
DateFormat fullDateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
System.out.println(shortDateFormat.format(date)); //08-12-1 下午1:28
System.out.println(mediumDateFormat.format(date)); //2008-12-1 13:28:31
System.out.println(longDateFormat.format(date)); //2008年12月1日 下午01时28分31秒
System.out.println(fullDateFormat.format(date)); //2008年12月1日 星期一 下午01时28分31秒 CST
Calendar类:
使用Date类可以创建日期/时间对象,使用DateFormat类,SimpleDateFormat类可以对Date对象进行格式化。
使用Calendar类可以设置和获取日期/时间数据的特定部分。
Calendar类是抽象类不能实例化对象,但是可以使用Calendar类的static方法getInstance(),可以初始化一个日历对象。如:
Calendar calendar = Calendar.getInstance();
然后可以使用该calendar对象可以调用方法,如:(当year取负数时表示公元前)
public final void set(int year, int month, int date)
public final void set(int year, int month, int date, int hourOfDay, int minute)
public final void set(int year, int month, int date, int hourOfDay, int minute, int second)
Calendar类对象调用如下方法可以获取有关年份,月份,小时,星期等信息,参数field的有效值由Calendar的静态常量指定
public int get(int field)
实例:
calendar.get(Calendar.MONTH); //返回一个整数,如果该整数是0表示一月,11表示12月
Calendar对象调用如下方法可以把时间表示为毫秒:
public long getTimeInMillis()
Calendar使用实例:
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
String 年 = String.valueOf(calendar.get(YEAR)),
月 = String.valueOf(calendar.get(MONTH)+1),
日 = String.valueOf(calendar.get(DAY_OF_MONTH)),
星期 = String.valueOf(calendar.get(DAY_OF_WEEK)-1);
int hour = calendar.get(HOUR_OF_DAY),
minute = calendar.get(MINUTE),
second = calendar.get(SECOND);
System.out.println("现在的时间是:");
System.out.println(年+"年"+月+"月"+日+"日"+"星期"+星期);
System.out.println(hour+"时"+minute+"分"+second+"秒");
calendar.set(2004,7,8); //将日历翻到2004年8月8日,注意7表示八月
long time2004 = calendar.getTimeInMillis();
calendar.set(2008,7,8); //将日历翻到2008年8月8日
long time2008 = calendar.getTimeInMillis();
long 相隔天数 = (time2008-time2004)/(1000*60*60*24);
System.out.println("2008年8月8日和2004年8月8日相隔"+相隔天数+"天");
输出结果:
现在的时间是:
2008年12月1日星期1
14时41分45秒
2008年8月8日和2004年8月8日相隔1461天
发表评论
-
关于数组和List之间相互转换的方法
2011-04-14 21:04 13811.List转换成为数组。( ... -
java的几种对象(PO,VO,DAO,BO,POJO)解释
2011-03-24 10:13 1344java的几种对象(PO,VO,DAO,BO,POJO)解释 ... -
switch
2010-12-02 19:02 11441 public class Switch { 2 ... -
优化的冒泡排序
2010-09-25 14:18 1367public static void bubble_Sort( ... -
java变量命名规则
2010-08-13 23:15 23711. 大小写有别,例如 a 和 A是两个变量 2. 长度任意 ... -
String.getBytes()的问题
2010-08-13 22:46 1647转载 http://java.chinaitlab.c ... -
tomcat 修改端口
2010-08-09 22:41 2005Tomcat端口修改: 在Tomcat安装目录下的conf目 ... -
tomcat 中增加用户名和密码
2010-08-09 22:41 1914原来的tomcat-user.xml是 <?xml ... -
Eclipse is running in a JRE, but a JDK is required
2010-07-28 09:30 15271 安装了maven插件,使用的时候老是有这样的提示: 08- ... -
安装Eclipse的maven插件
2010-07-27 11:01 1822Installing m2eclipse Core To i ... -
Attach Library Sources and Javadocs
2010-07-26 13:41 1919Attach Library Sources and Java ... -
maven 安装jaxb插件
2010-07-18 15:10 65651. Put your schemas ( ... -
java接受控制台输入
2010-07-16 13:45 2710import java.io.*; public c ... -
将xsd文件转化为java类
2010-07-10 15:31 2513最近有一个需求是把xsd文件中定义的数据类型转化为java类 ... -
jconsole attache sun glassfish
2010-06-13 17:04 1352To Set Up JConsole Connectivity ... -
suse下lamp的安装
2010-05-31 16:45 1565首先卸载suse缺省安装的apache2 主要是在网上看到人家 ... -
java的property配置文件的用法
2010-05-30 15:04 1143在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我 ... -
让ubuntu下的eclipse支持GBK编码
2010-05-30 14:38 1516今天,把windows下的工程导入到了Linux下eclips ... -
java路径中/的问题
2010-05-18 17:23 1365windows支持两种文件分隔符“/”和“\” 且使用“/”时 ... -
java中serializable是可以继承的
2010-05-16 21:58 5507import java.io.FileInputStream; ...
相关推荐
在这个"JAVA System、Math、Date、DateFormat、Calendar"的主题中,我们将深入探讨Java标准库中的几个核心类,它们在各种程序设计场景中扮演着至关重要的角色。 首先,`System`类是Java中最基础的类之一,位于`java...
在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...
【解析Date & Calendar类】 Java中的Date和Calendar类是处理日期和时间的核心工具。这两个类在Java编程中扮演着重要角色,特别是在处理日期计算、格式化以及与数据库交互时。 1. **java.util.Date** - **字符串转...
在Java编程语言中,正则表达式、Date、DateFormat和Calendar是四个非常重要的API,它们在处理字符串匹配、日期和时间操作中起着关键作用。本文将深入探讨这些概念及其在实际开发中的应用。 首先,让我们来了解一下...
最后,我们可以通过`getTime()`方法将修改后的Calendar对象转换回Date,然后再次使用DateFormat进行格式化输出: ```java Date updatedDate = calendar.getTime(); System.out.println(formatter.format(updated...
总结来说,Java中的`Date`和`Calendar`类提供了基本的时间处理功能,`DateFormat`和`SimpleDateFormat`则负责日期和时间的格式化,使我们能够根据需要将日期和时间转换为人类可读的字符串。在实际开发中,这些类经常...
【Java常用API】深入理解Date、DateFormat、Calendar、Math、System及包装类和正则表达式 在Java编程中,熟练掌握常用的API是至关重要的。本文将详细讲解以下几个知识点: 1. **正则表达式** 正则表达式是一种...
本Java精华内容深入Java API、嵌套类和内部类、与时间有关的类Date,DateFormat,Calendar、文件与流、Java变量类型间的相互转换、Java与Web、用连接池提高Servlet访问数据库的效率、Java扩展、应用服务器的集群策略及...
Java中的Date、Calendar和Timestamp是处理日期和时间的三个核心类,它们各有特点,并且在不同的场景下有各自的优势。接下来我们将深入探讨这三个类的区别、转换方法及其在实际使用中的应用。 1. **java.util.Date**...
Date date = calendar.getTime(); ``` 反之,从`Date`创建`Calendar`: ```java calendar.setTime(date); ``` 在实际开发中,经常需要将日期格式化成字符串或者解析字符串为日期,这时可以使用`SimpleDateFormat`...
在 Java 中,处理日期和时间主要依赖于 `java.util.Date` 和 `java.text.DateFormat` 这两个核心类。在本文中,我们将深入探讨如何使用这些类来获取、格式化和操作日期。 1. **获取当前时间** 获取当前时间最常用...
然而,为了更好地格式化日期或进行日期的解析,通常会使用 `java.text.SimpleDateFormat` 和 `java.text.DateFormat` 类。此外,`java.util.Calendar` 类(尤其是它的子类 `java.util.GregorianCalendar`)也常被...
这个方法首先解析传入的日期字符串得到`Date`对象,然后设置`Calendar`对象的日期为当月的第一天,并最终返回格式化后的日期字符串。 #### 示例:获取指定日期的月末 ```java public String getMonthEnd(String ...
下面是对 Date 类的学习总结,包括计算某一月份的最大天数、Calendar 和 Date 的转化、把字符串转化为 java.util.Date、把字符串转化为 java.sql.Date、格式化输出日期时间、计算一年中的第几星期等。 计算某一月份...
### String与Date的转换 #### 一、引言 在Java开发中,字符串(String)与日期(Date)之间的转换是一项常见的需求。例如,在处理用户输入的数据、解析文本文件或与数据库交互时,通常需要将字符串转换为日期对象进行...
可以使用以下方法将 Calendar 对象转化为 Date 对象: ```java Calendar cal = Calendar.getInstance(); Date date = cal.getTime(); ``` 也可以将 Date 对象转化为 Calendar 对象: ```java Date date = new ...
<% DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = df.parse("2003-05-30"); Date d2 = df.parse("2003-05-31"); out.println(d1.equals(d2)); //false out.println(d1.before(d2)); //true ...