Date类:

使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下:

Date d = new Date();
System.out.println(d);

结果:

Mon Feb 20 20:50:54 CST 2017

从结果可以看到,默认的时间格式不是太友好,与我们平时看到的时间格式不太一样,那如何才能让时间以我们指定的格式来显示呢?

SimpleDateFormat类:

那我们就可以使用SimpleDateFormat类对日期进行格式化 ,可以将日期转换为我们指定格式的文本,当然也可以将文本转换为日期。

1.使用format()方法将日期转换为指定格式的文本

例:

package Date和SimpleDateFormat类;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class HelloWorld { /**
* @param args
*/
public static void main(String[] args) throws ParseException {
//第一步:创建Date对象,表示当前时间
Date d = new Date();
//第二步:创建SimpleDateFormat对象,并指定目标格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//第三步:调用format方法,将日期转换为字符串
String st1 = sdf1.format(d);
String st2 = sdf2.format(d);
String st3 = sdf3.format(d);
//输出转换后的字符串
System.out.println(st1);
System.out.println(st2);
System.out.println(st3);
} }

结果:

2017年02月20日  20时50分54秒
2017/02/20 20:50
2017-02-20 20:50:54

2.使用prase()方法将文本转换为日期

package Date和SimpleDateFormat类;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class HelloWorld { /**
* @param args
*/
public static void main(String[] args) throws ParseException { //将指定格式的文本转换为日期
//创建指定日期格式的文本
String st = "2015年3月5日 12:4:1";
//创建指定日期格式的SimpleDateFormat对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//调用parse()方法,将文本转换为日期
Date da = sdf.parse(st);
//输出转换后的文本
System.out.println(da);
} }

结果:

Thu Mar 05 12:04:01 CST 2015

注意!

1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包。

Calendar类:

Date类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

那么如何使用 Calendar类呢?

例:

package Date和SimpleDateFormat类;

import java.util.Calendar;

public class Calendar类 {

    /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建Calendar对象
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR); //获取年
int month = ca.get(Calendar.MONTH)+1; //获取月
int day = ca.get(Calendar.DAY_OF_MONTH);//获取日
int hour = ca.get(Calendar.HOUR_OF_DAY);//获取小时
int minute = ca.get(Calendar.MINUTE); //获取分钟
int second = ca.get(Calendar.SECOND); //获取秒
//输出时间
System.out.println("当前时间:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);
} }

结果:

当前时间:2017-2-20 21:58:57

其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位

例:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class HelloWorld { public static void main(String[] args) {
// 创建Calendar对象
Calendar c = Calendar.getInstance(); // 将Calendar对象转换为Date对象
Date date = c.getTime(); // 创建SimpleDateFormat对象,指定目标格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 将日期转换为指定格式的字符串
String now = sdf.format(date);
System.out.println("当前时间:" + now);
}
}

结果:

当前时间:2017-02-20 12:50:45

使用Date和SimpleDateFormat类表示时间的更多相关文章

  1. 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类

    一. Date 和 SimpleDateFormat类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当 ...

  2. Java学习--使用 Date 和 SimpleDateFormat 类表示时间

    使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...

  3. 使用 Date 和 SimpleDateFormat 类表示时间

    在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的Date类.这个类最主要的作用就是获取当前时间,我们来看下Date的类的使用: Date d=new Dat ...

  4. Date 和 SimpleDateFormat 类表示时间

    Date now=new Date(); // 使用format()方法将日期转换为指定格式的文本 SimpleDateFormat sdf1 = new SimpleDateFormat(" ...

  5. Date Math SimpleDateFormat 类

    Date  和 SimpleDateFormat /* Date 日期类 许多方法都被Calendar取代了 Date() 获取当前时间 使用概率最高 Calendar 类用常量获取当前时间 一般很少 ...

  6. JAVA中使用Date和SimpleDateFromat类表示时间

    转自:https://www.imooc.com/code/2335 仅做个人学习保存之用,侵删! 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Dat ...

  7. 使用SimpleDateFormat类来实现时间跟字符串的转化

    使用Date和SimpleDateFormat类表示时间 1.Date类 需要处理日期和时间的相关数据时可以使用 java.util 包中的 Date 类,这个类最主要的作用就是获取当前时间.下面看看 ...

  8. Java—包装类、Date和SimpleDateFormat、Calendar类

    包装类 基本数据类型不能调用方法,功能简单,为了让基本数据类型也具备对象的特性,Java为每个基本数据类型提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型. 基本类型和包装类之间的对应关系 ...

  9. Java基础(37):Java中日期的显示与格式定值----Date与SimpleDateFormat的试用

    使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...

随机推荐

  1. Android数据存储:Shared Preferences

    Android数据存储之SharedPreferences 在Android系统中提供了多种存储技术.通过这些存储技术可以将数据存储在各种存储介质上, Android 为数据存储提供了如下几种方式:1 ...

  2. jmeter之使用代理录制脚本

    从loadrunner到jmeter,录制压力测试脚本好像都只支持IE,近来才知道jmeter还有自带的录制脚本元件, 且支持IE.Chrome及Firefox等多种浏览器.这里就记录一下通过jmet ...

  3. PHP常见错误提示含义解释

    1.Notice: Undefined variable: 变量名 in 注:使用了一个没有被定义的变量 2.Parse error: syntax error, unexpected T_ELSE ...

  4. jquery----data使用

    - .data() - .data("key", value) 保存值,value可以是字符串,也可以是数组,也可以是jquery对象- .data("key" ...

  5. P3660 【[USACO17FEB]Why Did the Cow Cross the Road III G】

    题外话:维护区间交集子集的小套路 开两个树状数组,一个维护进入区间,一个维护退出区间 $Query:$ 给定询问区间$l,r$和一些其他区间,求其他区间中与$[l,r]$交集非空的区间个数 用上面维护 ...

  6. jdk提供的数组扩容方法:System.arraycopy

    package chapter7; /* * jdk提供的扩容方法 * System.arraycopy */public class TestArrayjdk { public static voi ...

  7. Hibernate之开门见山

    1:SSH框架: Struts2:基于mvc模式的应用层框架模式(Servlet层) Hibernate:基于持久层的框架(数据访问层) Spring:创建对象对象处理的依赖关系以及框架整合(Serv ...

  8. Map集合遍历的四种方式理解和简单使用

    ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:m ...

  9. [转] JavaScript:彻底理解同步、异步和事件循环(Event Loop)

    一. 单线程 我们常说“JavaScript是单线程的”. 所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个.不妨叫它主线程. 但是实际上还存在其他的线程.例如:处理A ...

  10. UOJ Round #1 题解

    题解: 质量不错的一套题目啊..(题解也很不错啊) t1: 首先暴力显然有20分,把ai相同的缩在一起就有40分了 然后会发现由于原来的式子有个%很不方便处理 so计数题嘛 考虑一下容斥 最终步数=初 ...