Date和Calendar时间操作常用方法及示例
package test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Date和Calendar常用方法,Date很多方法已经弃用,因此以Calendar为主
*
* @author tuzongxun123
*
*/
public class DateAndCalendarTest {
public static void main(String[] args) {
// 直接用Date获取当前系统时间,结果:Tue May 03 08:25:44 CST 2016
Date date = new Date();
// Date中的许多方法,例如获取某年、某月、某日等,以及设置某年、某月、某日等都不再建议使用,
// 建议使用calendar的各种方法替代,因此便不做记录
// 获取指定日期的毫秒数,常用来比较两个日期的大小。
date.getTime();
// 使用Calendar获取当前系统时间,需要获取Calendar对象后转换成Date输出
Calendar calendar = Calendar.getInstance();
// 这个方法相当于Date中的getTime,获取当前时间的毫秒数
calendar.getTimeInMillis();
// 获取指定日期所在周的第一天的日期,默认的一周的第一天是周日
calendar.getFirstDayOfWeek();
// 返回当前calendar日期所在的年,如2016
calendar.get(1);
// Calendar转Date,输出结果:Tue May 03 09:31:59 CST 2016
Date date2 = calendar.getTime();
System.out.println(date2);
// Calendar设置年、月、日,输出结果:Mon Jun 03 09:31:59 CST 2013
// 相关常用重载方法:calendar.set(year, month, date, hourOfDay, minute);
// calendar.set(year, month, date, hourOfDay, minute, second);参数均为int
calendar.set(2013, 5, 3);
System.out.println(calendar.getTime());
// 使用Calendar设置年,输出结果:Fri Jun 03 09:42:43 CST 2011
calendar.set(Calendar.YEAR, 2011);
System.out.println(calendar.getTime());
// 使用Calendar和数字设置月,注意月份从0开始,代表1月,输出结果:Mon Jan 03 09:45:32 CST 2011
calendar.set(Calendar.MONTH, 0);
System.out.println(calendar.getTime());
// 使用Calendar和自带常量设置月,注意月份从0开始,代表1月,输出结果:Thu Feb 03 09:47:07 CST 2011
calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
System.out.println(calendar.getTime());
// 使用Calendar和数字设置日,输出结果:Sat Feb 05 09:48:25 CST 2011
// calendar.set(Calendar.DAY_OF_MONTH, 5)结果一样;
calendar.set(Calendar.DATE, 5);
System.out.println(calendar.getTime());
// 设置小时
calendar.set(Calendar.HOUR, 15);
System.out.println(calendar.getTime());
// 根据毫秒数设置Calendar时间
calendar.setTimeInMillis(0);
// Date转String,输出结果:2016-05-03 09:25:29
String forDate = dateToString(new Date());
System.out.println(forDate);
// String转Date,输出结果:Thu Nov 12 13:23:11 CST 2015
Date strDate = stringToDate("2015-11-12 13:23:11");
System.out.println(strDate);
// Date转Calendar,输出结果:2015
Calendar calendar2 = dateToCalendar(strDate);
System.out.println(calendar2.get(1));
}
/**
* 把指定的date类型时间转换为指定格式的字符串
*
* @author:tuzongxun
* @Title: dateToString
* @param @param date
* @return void
* @date May 3, 2016 9:09:25 AM
* @throws
*/
static String dateToString(Date date) {
String str = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat format = new SimpleDateFormat(str);
String dateFormat = format.format(date);
return dateFormat;
}
/**
* 把指定的日期格式的字符串转换成Date类型
*
* @author:tuzongxun
* @Title: StringToDate
* @param @param string
* @return void
* @date May 3, 2016 9:16:38 AM
* @throws
*/
static Date stringToDate(String string) {
String str = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat format = new SimpleDateFormat(str);
Date date = new Date();
try {
date = format.parse(string);
} catch (Exception e) {
e.getStackTrace();
}
return date;
}
/**
* 把指定的date类型日期转换成Calendar类型
*
* @author:tuzongxun
* @Title: dateToCalendar
* @param @param date
* @return void
* @date May 3, 2016 9:13:49 AM
* @throws
*/
static Calendar dateToCalendar(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
}
}
Date和Calendar时间操作常用方法及示例的更多相关文章
- Calendar时间操作
1.Calendar是Java提供的一个util类,在java.util中.我们在开发过程中经常遇到,需要对时间进行处理的方式.而Java中Calendar给我们提供了很好的控制方式. 2.我这里主要 ...
- Java日期时间操作基础——包含JDK1.8时间操作新特性
JDK1.7日期时间操作 示例小结 public class DateTest { public static final String FORMAT_DATE = "yyyy-MM-dd& ...
- Java8 日期、时间操作
一.简介 在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题.故此,Java8引入了一套全新的日期时间处理 ...
- Java学习关于时间操作的应用类--Date类、Calendar类及其子类
Date类 Date类封装了当期时间和日期.与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化.在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和D ...
- Java Calendar 类的时间操作
Java Calendar 类的时间操作 标签: javaCalendar时间Date 2013-07-30 17:53 140401人阅读 评论(7) 收藏 举报 分类: 所有(165) Java ...
- java日期和时间Date、Calendar、SimpleDateFormat
1 时间和日期 1.1 日期类Date和格式化SimpleDateFormat 日期使用过程中需要将日期Date对象转化为字符串,或者将字符串形式的日期转化为日期Date对象.可 ...
- java时间类Date、Calendar及用法
对于时间类,这篇主要说明各种现实情况下如何取值,怎么定向取值,得到自己想要的时间参数.在java中时间类主要有Date.Calendar,暂时只介绍 java.util.*下的时间类,对于java.s ...
- Calendar 日历类的时间操作
我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年....某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题,Java中提供 ...
- Date 时间 日期 常用方法函数
转载自https://www.cnblogs.com/lcngu/p/5154834.html 一.java.util.Date对象用来表示时间,基本方法如下: Date mDate = new Da ...
随机推荐
- Linux 命令行快捷键
说明 Ctrl – k: 先按住 Ctrl 键,然后再按 k 键: Alt – k: 先按住 Alt 键,然后再按 k 键: M – k:先单击 Esc 键,然后再按 k 键. 移动光标 Ctrl – ...
- 解析C#开发过程常见的编程模式
单例模式: 在多线程的程序开发过程中经常会遇到单例模式[单件模式],它的特点是不是根据客户程序的调用而生成新的实例,而是控制某个类型的实例数量只有一个.也就是说,单例模式就是保证在整个应用程序的生命周 ...
- javaEE-----org.springframework.dao.InvalidDataAccessApiUsageException: Write operation
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read ...
- Unity C# XmlDoc.LoadXml() il2cpp not implemented exception
Stuck with this for a couple of hours, turned out it's just a setting thing, Answer from this post ( ...
- i5 6300HQ 和 i7 6700HQ
i7 6700HQ: 四核八线程 14nm 45W 2.6-3.5GHz 支持DDR4 2133内存 三级缓存6M HD Graphics 530集显 i5 6300HQ: 四核四线程 14nm 45 ...
- 使用PHP将长文章分页
如何分页 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分 ...
- Maven修改本地仓库路径
仓库知识参考 http://www.cnblogs.com/luotaoyeah/p/3785044.html 1. 修改配置文件settings.xml 假设你的maven位置在 D:\apache ...
- 转:WebService通用接口
看到许多中小项目的webservice接口的源代码,不禁有个吐槽的冲动.除了会用CXF,Axis2等神级框架,其他的懒得动了,都是Ctrl+V,Ctrl+C,把其他模块的Request,Respons ...
- java程序链接到sql server数据库
package jianhua; import java.sql.*; public class ConDatabase { public static void main(String[] args ...
- Android驱动开发前的准备(二)
搭建android开发环境 2.1 Android底层开发需要哪些工具 2.2 安装 JDK 2.3 搭建Android 应用程序开发环境 2.4安装Android NDK开发环境 2.5安装交叉编译 ...