java获取指定时间的年月日
链接:http://www.zhihu.com/question/35650798/answer/63983440
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
1. java 7 及之前版本
1.1 使用 java.util.Calendar (不推荐)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Demo {
public static void main(String[] args) throws ParseException {
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2015-09-17 20:27:00");
Calendar now = Calendar.getInstance();
now.setTime(date);
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) + 1; // 0-based!
int day = now.get(Calendar.DAY_OF_MONTH);
System.out.println("year: " + year);
System.out.println("month: " + month);
System.out.println("day: " + day);
}
}
结果如下:
year: 2015
month: 9
day: 17
1.2 joda-time (推荐)
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class Demo {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss");
LocalDate localDate = formatter.parseLocalDate("2015-09-17 20:27:00");
System.out.println("yearOfCentury: " + localDate.getYearOfCentury());
System.out.println("monthOfYear: " + localDate.getMonthOfYear());
System.out.println("dayOfMonth: " + localDate.getDayOfMonth());
}
}
结果如下:
yearOfCentury: 15
monthOfYear: 9
dayOfMonth: 17
2. java 8,直接使用 new datetime api (推荐!!)
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Demo {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.parse("2015-09-17 20:27:00", formatter);
System.out.println("Year: " + ldt.getYear());
System.out.println("Month: " + ldt.getMonth().getValue());
System.out.println("DayOfMonth: " + ldt.getDayOfMonth());
}
}
结果如下:
Year: 2015
Month: 9
DayOfMonth: 17
P.S
- java 8 提供的 datetime api 参考了 jodatime,因此两者看起来很相似,使用 java 8 datetime api 时,如果要将日期时间存储到数据库, 还应考虑数据库驱动是否支持该 api
- java 7 及之前版本,推荐使用 jodatime, 省时省力省心
java获取指定时间的年月日的更多相关文章
- Java获取指定时间的毫秒值的方法
有以下两种方法获取指定时间的毫秒值: 1.Calendar类 先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set ...
- JaveWeb 公司项目(5)----- Java获取当前时间的年月日以及同Thrift格式的转化
随着项目进度的逐步完成,数据传输和界面基本上已经搭建完成,下面就是一些细节部分的修改 今天博文的主要内容说的是获取当前的时间和同Thrift类型的转化 和C#类似,java也有一个时间类Date,加载 ...
- Java获取指定时间(转)
说明:从LocalDate的API上看,主要用于快速获取当前年月日,而DateFormatter也基本上伴随着使用.如果是操作Date对象的,主要是用于时间戳等,伴随着使用的是SimpleDateFo ...
- java 获取当前时间及年月日时分秒
java代码如下: package test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.ut ...
- Java获取当前时间的年月日方法
package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util ...
- java学习第13天( java获取当前时间,有关大数据的运算及精确数字运算,Date类)
一 java获取当前时间 学习一个函数,得到当前时间的准确值 System.currectTimeMillis(). 可以得到以毫秒为单位的当前时间.它主要用于计算程序运行时间,long start= ...
- java获取前一天时间SimpleDateFormat,java判断某个时间段
java获取前一天时间SimpleDateFormat SimpleDateFormat predf = new SimpleDateFormat("yyyy-MM-dd"); D ...
- Java获取系统时间少了八个小时
Java获取系统时间少了八个小时 今天忽然遇到需要获取当前时间的问题,我向来谨慎,先测试获取到的系统时间是否正确,结果竟然发现少了八个小时,晕死了,记得之前在页面用javascript获取过当前时间, ...
- java 获取当前时间,前一天时间
java获取当前时间,并按一定格式输出 1.用Calendar获取Date Calendar calendar=Calendar.getInstance(); SimpleDateFormat for ...
随机推荐
- IntelliJ IDEA 14注册码
User:xring Key:21423-V4P36-U7W8K-8CYUK-93HXA-MKGZ5 User:arix Key:52998-LJT74-J7YEX-UPVT3-Q5GUF-5G4B5 ...
- Oracle中的MD5加密
一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFU ...
- Perl中的匹配(六)
在Perl中,匹配的定界符如果是双斜线//,可以直接使用双斜线完成匹配操作. 如果特定条件下需要改变定界符,如改为{},[]等.需要加入m,m{},m[]等. m%^http://% 默认的模式匹配对 ...
- 安装kingroot之后的残留
/system/usr/icu/icusuflag.conf/system/usr/ikm/ikmsu/system/usr/iku//system/usr/attrch/system/etc/ins ...
- [Sinatra、Mongo] Mongo
Mongo is a document-oriented database. Install the required gems: gem install mongo gem install bson ...
- QTP常用功能
1.QTP录制过程的截图 查看录制脚本过程中QTP的截图可以在QTP中查找,在关键字视图中点击每一步都对应一个截图 2.在关键字视图中为测试步骤添加注释 在关键字视图中表格列头中单击鼠标右键,选择 ...
- Date() 及其 如何验证用户输入的日期是合法的
1.var someDate = new Date(Date.parse("May 25, 2004")); <=> var someDate = new Dat ...
- android 项目学习随笔三(Fragment )
1.在主页面(activity引用Fragment )的布局文件中定义FrameLayout ,加载Fragment <FrameLayout xmlns:android="http ...
- 关于mac book 的启动选项
苹果电脑是用EFI的,没有BIOS,唯一可以设置的是开机的启动选项.可以在基于 Intel 的 Mac 电脑上使用下列启动键组合启动时按住 C 键——从可启动 CD 或 DVD 光盘启动,如随机附带的 ...
- Delphi Xe2 后的版本如何让Delphi程序启动自动“以管理员身份运行"
由于Vista以后win中加入的UAC安全机制,采用Delphi开发的程序如果不右键点击“以管理员身份运行”,则会报错. 在XE2以上的Delphi版本处理这个问题已经非常简单了. 右建点击工程,选择 ...