Java中获取日期及相应字段

原创 2015年11月19日 17:21:03

Java中获取时间日期主要涉及到这几个类:

  • Date —— 基本的时间对象
  • SimpleDateFormat —— 根据Date对象返回所需要的时间格式
  • Calendar —— 获取具体的日期字段

获取某一格式的时间
例如我们想得到 “2015-11-19”,或 “2015-11-19 12:30:00”
这样的字符串,可以使用Date与SimpleDateFormat来获取。

long time = System.currentTimeMillis();
Date date = new Date(time);    // 生成Date对象

SimpleDateFormat mFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

System.out.println(mFormat.format(date));    // 传入date并根据给定的格式返回相应字符串

运行的结果:

2015-11-19 17:20:13


SimpleDateFormat支持的格式有很多,Javadoc中列举的有这些:

格式 样例
“yyyy.MM.dd G ‘at’ HH:mm:ss z” 2001.07.04 AD at 12:08:56 PDT
“EEE, MMM d, ”yy” Wed, Jul 4, ‘01
“h:mm a” 12:08 PM
“hh ‘o”clock’ a, zzzz” 12 o’clock PM, Pacific Daylight Time
“K:mm a, z” 0:08 PM, PDT
“yyyyy.MMMMM.dd GGG hh:mm aaa” 02001.July.04 AD 12:08 PM
“EEE, d MMM yyyy HH:mm:ss Z” Wed, 4 Jul 2001 12:08:56 -0700
“yyMMddHHmmssZ” 010704120856-0700
“yyyy-MM-dd’T’HH:mm:ss.SSSZ” 2001-07-04T12:08:56.235-0700
“yyyy-MM-dd’T’HH:mm:ss.SSSXXX” 2001-07-04T12:08:56.235-07:00
“YYYY-‘W’ww-u” 2001-W27-3


获取日期中某一字段
有时我们需要获取诸如年、月、日这样的字段,这时就可以使用Calendar类。它的用法很简单:

Calendar mCalendar = Calendar.getInstance();

System.out.println(mCalendar.get(Calendar.YEAR));
System.out.println(mCalendar.get(Calendar.MONTH) + 1);    // 注意月份信息的值比实际的月份数字小1
System.out.println(mCalendar.get(Calendar.DAY_OF_MONTH));
System.out.println(mCalendar.get(Calendar.HOUR_OF_DAY));
System.out.println(mCalendar.get(Calendar.MINUTE));
System.out.println(mCalendar.get(Calendar.SECOND));

运行的结果:

Year 2015
Month 11
Day 19
Hour 17
Minute 20
Second 13
版权声明:本文为博主原创文章,未经博主允许不得转载。

计算两个日期相差的天数、月份

package com.example.datetestdemo;import java.text.ParseException; import java.text.SimpleDateFormat...
  • chuxuaner
  • chuxuaner
  • 2016年02月01日 17:26
  • 1715

java获取各种格式的时间,获取昨天明天日期,获取一天的开始结束时间

一、获取当前日期和时间 1、使用Date和DateFormat       Date now = new Date();       DateFormat df1 = DateFormat.ge...
  • ziluolanzhang
  • ziluolanzhang
  • 2016年02月22日 17:55
  • 23243

java根据当前日期+指定天数(月份...)得到相应日期,计算两日期之差

package com.utcsoft.pcapps.selfservice.controller; import java.text.ParseException; import java.tex...
  • l294333475
  • l294333475
  • 2014年08月12日 12:20
  • 2074

java根据日期获取农历信息

package com.kj.util; import java.text.ParseException; import java.text.SimpleDateFormat; import j...
  • u012408019
  • u012408019
  • 2013年11月29日 11:23
  • 1515

java通过传入一个指定日期获取该日期所在周的周一至周五的日期

private static void getWeekByDate(Date time) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-...
  • u013399093
  • u013399093
  • 2016年01月21日 14:45
  • 5886

java写的日期工具,根据设置日期获取指定的一周或者一个月的所有日期

在做项目中遇到一个关于日记的问题,国外算一周是从周末到周六,而国内一周是从周一到周天。很多软件需要获取一个月或者一周的所有日期来进行数据统计,为了方便大家开发,避免重复劳动。特地写了一个DateToo...
  • leixingbang1989
  • leixingbang1989
  • 2015年09月28日 16:15
  • 2853

数据库设计中,日期字段的类型应该如何选择?

几乎大多数软件系统都需要依赖于数据库来存储数据,这些数据库大多是支持标准SQL也就是ANSISQL的,我们可以定义各种类型的字段,其中我们常常需要用一个字段来表示日期。但是在不同的数据库我们可以用不同...
  • binbinxyz
  • binbinxyz
  • 2013年01月30日 20:36
  • 10842

java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map get...
  • Blue_Red_1314
  • Blue_Red_1314
  • 2017年11月22日 11:52
  • 258

java获取日期 昨天 今天 明天的日期

(转载)http://blog.sina.com.cn/s/blog_6955fc9f010143xr.html Date date=new Date();//取时间 昨天 今天 明天的日期" s...
  • u010746364
  • u010746364
  • 2016年06月23日 16:26
  • 7309

java 根据当前日期获取本周或上周或下周日期区间

转:http://blog.csdn.net/g_blue_wind/article/details/52413749 import java.text.SimpleDateFormat; impo...
  • u014695188
  • u014695188
  • 2017年10月30日 13:28
  • 313
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中获取日期及相应字段
举报原因:
原因补充:

(最多只允许输入30个字)