Java Basics Part 15/20 - Date & Time
来源:互联网 发布:js 轨迹回放 编辑:程序博客网 时间:2024/05/17 02:59
Java Basics Part 15/20 - Date & Time
目录
- Java Basics Part 1520 - Date Time
- 目录
- 获取当前日期和时间
- 日期比较
- 使用 SimpleDateFormat 完成日期格式化
- 使用 printf 完成日期格式化
- 日期和时间转换字符
- 把字符串解析成日期
- 休眠
- 测量执行时间
- GregorianCalendar 类
Java 在 java.util 包里提供了 Date 类,这个类封装了 日期 和时间。
Date 类有两个构造器.
下面是 Date 类的方法。
获取当前日期和时间
举例:
import java.util.Date;public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date using toString() System.out.println(date.toString()); }}// outputon May 04 09:51:52 CDT 2009
日期比较
三种方法:
- 使用 getTime() 获得从1970.1.1 00:00 到指定日期的秒数,然后比对秒数
- 使用 before(),after() 和 equals() 方法
- 可以使用 compareTo() 方法
使用 SimpleDateFormat 完成日期格式化
使用 SimpleDateFormat 类对 Date 类进行格式化。
举例:
import java.util.*;import java.text.*;public class DateDemo { public static void main(String args[]) { Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); System.out.println("Current Date: " + ft.format(dNow)); }}// outputCurrent Date: Sun 2004.07.18 at 04:14:09 PM PDT
SimpleDateFormat 的格式化码如下:
使用 printf 完成日期格式化
使用 printf 也可以容器的完成日期和时间的格式化。使用 2个字母 的格式,第一个是 t,第二个见下表。
举例:
import java.util.Date;public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date using toString() String str = String.format("Current Date/Time : %tc", date ); System.out.printf(str); }}// outputCurrent Date/Time : Sat Dec 15 16:37:57 MST 2012
格式化字符串可以指示要格式化参数的索引。索引必须紧跟在 % 好眠,并且必须以 $ 结束。
举例:
import java.util.Date;public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date using toString() System.out.printf("%1$s %2$tB %2$td, %2$tY", "Due date:", date); }}// outputDue date: February 09, 2004
可以使用 < 符号,来表示本次使用的参数与前面的相同。
举例:
import java.util.Date;public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display formatted date System.out.printf("%s %tB %<te, %<tY", "Due date:", date); }}// outputDue date: February 09, 2004
日期和时间转换字符
更多内容,请参考 Java Doc。
把字符串解析成日期
利用 SimpleDateFormat 的 parse() 方法,可以把字符串解析成一个 SimpleDateFormat 对象。
举例:
import java.util.*;import java.text.*;public class DateDemo { public static void main(String args[]) { SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); String input = args.length == 0 ? "1818-11-11" : args[0]; System.out.print(input + " Parses as "); Date t; try { t = ft.parse(input); System.out.println(t); } catch (ParseException e) { System.out.println("Unparseable using " + ft); } }}// output$ java DateDemo1818-11-11 Parses as Wed Nov 11 00:00:00 GMT 1818$ java DateDemo 2007-12-012007-12-01 Parses as Sat Dec 01 00:00:00 GMT 2007
休眠
可以让程序休眠,短至 1 毫秒,长至 电脑挂掉。
举例(休眠 10秒钟):
import java.util.*;public class SleepDemo { public static void main(String args[]) { try { System.out.println(new Date( ) + "\n"); Thread.sleep(5*60*10); System.out.println(new Date( ) + "\n"); } catch (Exception e) { System.out.println("Got an exception!"); } }}// outputSun May 03 18:04:41 GMT 2009Sun May 03 18:04:51 GMT 2009
测量执行时间
有时候可能想以毫秒的粒度来测量时间,重写上述例子:
import java.util.*;public class DiffDemo { public static void main(String args[]) { try { long start = System.currentTimeMillis( ); System.out.println(new Date( ) + "\n"); Thread.sleep(5*60*10); System.out.println(new Date( ) + "\n"); long end = System.currentTimeMillis( ); long diff = end - start; System.out.println("Difference is : " + diff); } catch (Exception e) { System.out.println("Got an exception!"); } }}// outputSun May 03 18:16:51 GMT 2009Sun May 03 18:16:57 GMT 2009Difference is : 5993
GregorianCalendar 类
它是 Calendar 类的一个具体实现类,详细信息请参考 Java Doc 吧!
0 0
- Java Basics Part 15/20 - Date & Time
- Java Basics Part 20/20 - Inner Classes
- Java Basics Part 1/20 - Overview
- Java Basics Part 2/20 - Environment Setup
- Java Basics Part 3/20 - Basic Syntax
- Java Basics Part 4/20 - Object & Classes
- Java Basics Part 5/20 - Basic Datatypes
- Java Basics Part 6/20 - Variable Types
- Java Basics Part 7/20 - Modifier Types
- Java Basics Part 8/20 - Basic Operators
- Java Basics Part 9/20 - Loop Control
- Java Basics Part 10/20 - Decision Making
- Java Basics Part 11/20 - Numbers Class
- Java Basics Part 12/20 - Character Class
- Java Basics Part 13/20 - Strings Class
- Java Basics Part 14/20 - Arrays
- Java Basics Part 16/20 - Regular Expressions
- Java Basics Part 17/20 - Methods
- COGS 1844 最大数
- java解析xml文件的四种方式
- POJ2506——Tiling
- hdoj 5326 Work【并查集】
- hdu 2120 (Ice_cream's world I)
- Java Basics Part 15/20 - Date & Time
- collection
- SPI、I2C、UART三种串行总线的原理、区别及应用
- hdu 2588 欧拉函数
- vim tutor
- Linux学习笔记-shell(3)
- ajax技术的应用
- Design Pattern笔记(第三章 创建型模式 :Abstract Factoty---对象创建型模式)
- R 语言的分组统计