Java 时间工具类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1.Calendar 转化 String
//获取当前时间的具体情况,如年,月,日,week,date,分,秒等
Calendar calendat =
Calendar.getInstance();
SimpleDateFormat
sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());
2.String 转化Calendar
String
str="2010-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date
date =sdf.parse(str);
Calendar
calendar = Calendar.getInstance();
calendar.setTime(date);
3.Date
转化String
SimpleDateFormat
sdf= new SimpleDateFormat("yyyy-MM-dd");
String
dateStr=sdf.format(new Date());
4.String
转化Date
String str="2010-5-27";
SimpleDateFormat
sdf= new SimpleDateFormat("yyyy-MM-dd");
Date
birthday = sdf.parse(str);
5.Date
转化Calendar
Calendar
calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());
6.Calendar转化Date
Calendar
calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();
7.Date
转成 String
System.out.println(sdf.format(new
Date()));
8.String
转成
Timestamp
Timestamp
ts = Timestamp.valueOf("2011-1-14 08:11:00");
9.Timestamp
转成 String
sdf.format(ts);
Timestamp和Date多数用法是一样的。
10.Date
转
TimeStamp
SimpleDateFormat
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String
time = df.format(new Date());
Timestamp
ts = Timestamp.valueOf(time);
11.日期比较大小
String
ti="2010-11-25 20:11:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss");
Date time=sdf.parse(ti);
String
ti2="2011-11-26 20:11:00";
Date time2=sdf.parse(ti2);
int
c=ti2.compareTo(ti);
if(c>0){
System.out.println(ti+"大");
}else if(c==0){
System.out.println("一样大");
}else{
System.out.println(ti2+"大");
}
12.Date/
Timestamp 转成
Calendar
Calendar
calendar = Calendar.getInstance();
calendar.setTime(startDate);
calendar.add(Calendar.YEAR,
2); //日期加2年
System.out.println(calendar.getTime());
calendar.add(Calendar.DATE, -30); //日期加30天
System.out.println(calendar.getTime());
calendar.add(Calendar.MONTH, 3); //日期加3个月
System.out.println(calendar.getTime());
13.将毫秒数转为String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Timestamp scurrtest = new Timestamp(millis);
String time=sdf.format(scurrtest);
public static String
convert(Timestamp time) {
SimpleDateFormat df = new
SimpleDateFormat("yyyy-MM-dd
HH:mm:ss");
String result =
df.format((Date) time);
return
result;
}
public static
Timestamp getNow() {
Date date = new
Date();
SimpleDateFormat simDate = new
SimpleDateFormat("yyyy-MM-dd
HH:mm:ss");
Timestamp now=Timestamp.valueOf(simDate.format(date));
return now;
}
public static String
dateConvertToString(Date date){
SimpleDateFormat formatter
= new SimpleDateFormat( "yyyy-MM-dd ");
String time =
formatter.format(date);//格式化数据
return time;
}
//根据传入的日期计算距今多少天
public static Integer getValidDays(Date date){
int days=0;
Date now=new Date();
int i = now.compareTo(date);
if (i>0) {
return 0;
}else{
days = (int) Math.abs((now.getTime() - date.getTime())
/ (24 * 60 * 60 * 1000));
}
return days;
}
public static
Long getTime(){
Date dt= new
Date();
Long time= dt.getTime();
return time;
}
public static
Calendar convertToCalendar(String date) throws
ParseException{
Date d = new
SimpleDateFormat("yyyy-MM-dd").parse(date);
Calendar cal=Calendar.getInstance();
cal.setTime(d);
return cal;
}
public static void
main(String[] args) throws ParseException {
Calendar now = Calendar.getInstance();
System.out.println("年: " +
now.get(Calendar.YEAR));
System.out.println("月: " +
(now.get(Calendar.MONTH) + 1) + "");
System.out.println("日: " +
now.get(Calendar.DAY_OF_MONTH));
System.out.println("时: " +
now.get(Calendar.HOUR_OF_DAY));
System.out.println("分: " +
now.get(Calendar.MINUTE));
System.out.println("秒: " +
now.get(Calendar.SECOND));
System.out.println("当前时间毫秒数:" +
now.getTimeInMillis());
System.out.println("当前月的天数:" +
now.getActualMaximum(Calendar.DATE));
System.out.println(now.getTime());
//给定日期查看最大数
now.set(Calendar.YEAR,2002);
now.set(Calendar.MONTH,6);//7月
int maxDate =
now.getActualMaximum(Calendar.DATE);
Date d = new
Date();
System.out.println(d);
SimpleDateFormat sdf = new
SimpleDateFormat("yyyy-MM-dd
HH:mm:ss");
String dateNowStr = sdf.format(d);
System.out.println("格式化后的日期:" +
dateNowStr);
String str = "2012-1-13 17:26:33"; //要跟上面sdf定义的格式一样
Date today = sdf.parse(str);
System.out.println("字符串转成日期:" +
today);
}
/**
* 计算两个日期之间的天数
*/
public class DateUtils {
public static Integer daysBetween(Date smdate, Date bdate){
try{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}catch (Exception e){
throw new RuntimeException("The Date sub error");
}
}
/**
* 自然年加法
* @param date
* @return
*/
public static Date getAddDate(Date date,Integer year){
try{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR, year);
date = calendar.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = simpleDateFormat.format(date);
Date parse = simpleDateFormat.parse(dateStr);
return parse;
}catch (Exception e){
throw new RuntimeException("The Date add error");
}
}/**
* * @param 要转换的毫秒数 * @return 该毫秒数转换为 * days * hours * minutes * seconds 后的格式 * @author fy.zhang */ public static String formatDuring(long mss) { long days = mss / (1000 * 60 * 60 * 24); long hours = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60); long minutes = (mss % (1000 * 60 * 60)) / (1000 * 60); long seconds = (mss % (1000 * 60)) / 1000; return days + " days " + hours + " hours " + minutes + " minutes " + seconds + " seconds "; }Java 时间工具类的更多相关文章
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
- 超详细的Java时间工具类
package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.Pa ...
- java时间工具类
在项目中,很多地方需要根据时间获取相应的数据,将时间格式化,或者时间比较等相关操作.一个良好的工具类不仅可以减少代码冗余,还能促进业务处理,加快进度. /** * @author: lxw * @Da ...
- 一个好的Java时间工具类DateTime
此类的灵感来源于C# 虽然网上有什么date4j,但是jar太纠结了,先给出源码,可以继承到自己的util包中,作为一个资深程序员,我相信都有不少好的util工具类,我也希望经过此次分享,能带动技术大 ...
- JAVA时间工具类,在维护的项目里的
package com.inspur.jobSchedule.util; import org.apache.commons.lang3.time.DateUtils; import org.apac ...
- java时间工具类,时间相互转换
/* * @author XueWeiWei * @date 2019/8/26 16:22 */ package com.nps.utils; import java.text.ParseExcep ...
- JAVA时间工具类用法
1.获得N天前的TIMESTAMP Calendar cl = Calendar.getInstance(); cl.add(Calendar.DAY_OF_YEAR, -7); Date date ...
- 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “知识的工作者必须成为自己时间的首席执行官.” 前言 这次泥瓦匠带来的是一个好玩的基于 JDK ...
随机推荐
- MyBatis SQL 生成方法 增删改查
此类根据JAVA实体BEAN生成MYBATIS的接口SQL(mapper) package com.sicdt.sicsign.bill.service.hessian; import java.la ...
- Nginx之Location模块
location 的语法 locltion可以把不同方式的请求,定位到不同的处理方式上 location分类及用法 location大致分为三类: location = patt {} [精准匹配] ...
- 20165101 实验一 Java开发环境的熟悉
#20165103 实验一 Java开发环境的熟悉 实验报告 封面 实验要求 第一部分 1.建立"自己学号exp1"的目录 2.在"自己学号exp1"目录下建立 ...
- Oracle配置文件
在oracle安装目录$HOME/network/admin下,,经常看到sqlnet.ora tnsnames.ora listener.ora这三个文件,除了tnsnames.ora,其他两个文件 ...
- JAVA基础补漏--基础数据类型与引用数据类型
==在不同数据类型中意义不同. 在基础数据类型中,表示的是数值的比较. 在引用数据类型中,表示的是内存地址值的比较. 一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit), ...
- CDN技术介绍
CDN技术介绍 一.CDN概述 1.1 CDN定义 CDN即Content Delivery Network (内容分发网络).CDN是建立在现有IP网络基础结构之上的一种增值网络.是在应用层部署的一 ...
- CCNA 课程 七
WAN(Wide Area Network)广域网 运行在OSI模型的数据链路层.物理层. 数据链路层的协议主要有: HDLC (High-Level Data Link Control 高级数据链 ...
- tomcat添加登录用户名密码
tomcat版本 apache-tomcat-7.0.55.tar.gz 编辑 TOMCAT_HOME/conf/tomcat-users.xml在tomcat-users里面添加 <tomca ...
- /var/spool/clientmqueue 爆满问题
当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MT ...
- 进程【TLCL】
ps命令 ps x 加上 "x" 选项(注意没有开头的 "-" 字符),告诉 ps 命令,展示所有进程,不管它们由什么 终端(如果有的话)控制. 在 TTY 一 ...