Java获取指定时间(转)
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);
}
}
说明:这里不建议使用全局Calendar,可以直接new一个出来new SimpleDateFormat().getCalendar()
结果如下:
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
说明:
- Java 8提供的datetime api参考了jodatime,因此两者看起来很相似,使用Java 8 datetime api 时,如果要将日期时间存储到数据库,还应考虑数据库驱动是否支持该api
- Java 7及之前版本,推荐使用jodatime,省时省力省心
示例工程:https://github.com/easonjim/5_java_example/tree/master/javabasicstest/test29/test1
参考:
https://www.zhihu.com/question/35650798(以上内容转自此篇文章)
Java获取指定时间(转)的更多相关文章
- Java获取指定时间的毫秒值的方法
有以下两种方法获取指定时间的毫秒值: 1.Calendar类 先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set ...
- java获取指定时间的年月日
作者:Night Silent链接:http://www.zhihu.com/question/35650798/answer/63983440来源:知乎著作权归作者所有,转载请联系作者获得授权.1. ...
- 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 ...
- android java获取当前时间的总结
import java.text.SimpleDateFormat; SimpleDateFormat formatter = new SimpleDateFormat (&q ...
- java获取当前日期时间代码总结
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 代码如下 复制代码 Date date = new ...
- Java 获取指定日期的方法汇总
import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; impo ...
随机推荐
- JAVA基础篇—多态
class ColaEmployee父类 package com.cola; public class ColaEmployee { private String name; private int ...
- CodeForces:148D-D.Bag of mice
Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes Program Description Th ...
- ubuntu12.04ppa安装emacs24
ppa地址:https://launchpad.net/~cassou/+archive/emacs 因为debian版本的emacs-snapshot维护者停止更新,所有ubuntu上的也停止了. ...
- Oracle数据库的日常使用命令
1. 启动和关闭数据库 sqlplus /nolog; SQL >conn / as sysdba;(上面的两条命令相当于sqlplus ‘/as sysdba’) SQL >st ...
- struts2对properties资源的处理
struts2对properties资源的处理 做了一些功能增强 包括: 可以读取项的描述 可以读取项所在的行号,文件路径等 实现方式 继承了java的java.util.Properties实现了一 ...
- python - 自动化测试框架 - sendMail
# -*- coding:utf-8 -*- '''@project: Voctest@author: Jimmy@file: sendMail.py@ide: PyCharm Community E ...
- [python篇] [伯乐在线][1]永远别写for循环
首先,让我们退一步看看在写一个for循环背后的直觉是什么: 1.遍历一个序列提取出一些信息 2.从当前的序列中生成另外的序列 3.写for循环已经是我的第二天性了,因为我是一个程序员 幸运的是,Pyt ...
- 九度oj 1004
题目1004:Median 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:17536 解决:4860 题目描述: Given an incre ...
- iOS学习笔记36-Masonry自动布局
一.Masonry介绍 之前我们在屏幕适配的章节中学习过AutoLayout的使用,但那都是在可视化界面上进行添加约束完成的,我们很多时候都需要在代码中使用AutoLayout约束,苹果也为我们提供了 ...
- 【bzoj3698】XWW的难题 有上下界最大流
题目描述 XWW是个影响力很大的人,他有很多的追随者.这些追随者都想要加入XWW教成为XWW的教徒.但是这并不容易,需要通过XWW的考核.XWW给你出了这么一个难题:XWW给你一个N*N的正实数矩阵A ...