您的位置:首页 > 编程语言 > Java开发

Java 时间日期API总结

2017-07-23 16:38 771 查看
Date类 java.util.Date包

常用构造方法

Date():系统当前时间

Date(long time) :以标准基准时间,毫秒计生成时间

常用方法

boolean after(Date when):测试此日期是否在指定日期(Date when)之后;

boolean before(Date when):测试此日期是否在指定日期之前;

int compareTo(Date anotherDate):比较两个日期顺序;(相等返回0,在anotherDate之前返回负数,在anotherDate之后返回正数);

boolean equals(Object object):比较两个日期的相等性(相同long值);

long getTime():得到标准基准时间的毫秒;

void setTime(long time):设置时间;

public class DateDemo {

public static void main(String[] args) {
Date now = new Date();
System.out.println(now);
//Date -> Long
long nowLong = now.getTime();
System.out.println(nowLong);
//Long -> Date
Date yesterday = new Date(nowLong-24*60*60*1000);
System.out.println(yesterday);

Date lastYear = new Date();
long day = 24*60*60*1000;
lastYear.setTime(nowLong-(365*day));
System.out.println(lastYear);

System.out.println(now.after(yesterday));
System.out.println(now.before(yesterday));

System.out.println(now.compareTo(yesterday));
System.out.println(now.compareTo(now));
System.out.println(lastYear.compareTo(now));

System.out.println(lastYear.equals(now));
System.out.println(now.equals(now));
Date d1 = new Date();
Date d2 = new Date();
d1.setTime(d2.getTime());
System.out.println(d1.equals(d2));
}
}


SimpleDateFormat类 java.text.SimpleDateFormat包

格式化日期:格式化字符:y :年、M:月、d:日、H:小时、m:分钟、s:秒、S:毫秒;

常用构造方法

SimpleDateFormat(String format);

常用方法

Date parse(String fromat):将字符串转换为Date类;

String format(Date time):将日期按照给定format格式转换为字符串;

public class SimpleDateFormatDemo {

public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss");
String nowDateStr = sdf.format(new Date());
System.out.println(nowDateStr);
}
}


Calendar类 java.util.Calendar包

常用方法

static Caledar getInstance():获得Calendar实例;

set(Calendar.字段,int date):设置某个字段值;

add(Calendar.字段,int number):为某个字段增加一个值;

Date getTime():将Calendar转换为Date;

setTime(Date time):将Date转换为Calendar

public class CalendarDemo {

public static void main(String[] args) throws ParseException {
//获得实例
Calendar calendar = Calendar.getInstance();
//设置某个字段的值
calendar.set(Calendar.YEAR, 1946);
//为某个字段加上一个值
calendar.add(Calendar.YEAR, 3);
//Calendar => Date
Date date = calendar.getTime();
System.out.println(date);

calendar.set(Calendar.MONTH,Calendar.MARCH);
System.out.println(calendar.getTime());

//Date => Calendar
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
Date d = sdf.parse("1938");
c.setTime(d);
System.out.println(c.getTime());

System.out.println(DateUtil.addDay(d, -3));

System.out.println(DateUtil.format(c.getTime()));
}
}


时间工具类

package com.chinasofti.se.api.homework;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

ndar.MONTH, monthes);
return c1.gepublic class DateUtil {

public static final String DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";

/**
* 添加天数
* @param date1
* @param days
* @return
*/
public static Date addDay(Date date1, int days) {
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);
c1.add(Calendar.DAY_OF_MONTH, days);
return c1.getTime();
}
/**
* 添加月数
* @param date1
* @param monthes
* @return
*/
public static Date addMonth(Date date1, int monthes) {
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);
c1.add(CaletTime();
}
/**
* 添加年数
* @param date1
* @param years
* @return
*/
public static Date addYear(Date date1, int years) {
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);
c1.add(Calendar.YEAR, years);
return c1.getTime();
}

9ffa
/**
* 格式化日期
* @param date
* @return
*/
public static String formatDate(Date date){
SimpleDateFormat sdf1 = new SimpleDateFormat("今天是yyyy年MM月dd日,还记得去年今日。。。");
return sdf1.format(date);
}

public static String formatDate(Date date, String str){
SimpleDateFormat sdf1 = new SimpleDateFormat(str);
return sdf1.format(date);
}

public static String formatShort(Date date){
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy  HH:mm:ss");
return sdf1.format(date);
}
/**
* 解析日期
* @param dateString
* @return
* @throws ParseException
*/
public static Date  parseCal(String dateString){
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {
return sdf2.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static Date  parseCal(String dateString, String str){
SimpleDateFormat sdf2 = new SimpleDateFormat(str);

try {
return sdf2.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 比较两个日期
* @param date1
* @param date2
* @return
*/
public static Date compare(Date date1, Date date2){
return (date1.compareTo(date2))>0?date1:date2;
}
/**
* 计算两个日期相差的天数
* @param date1
* @param date2
* @return
*/
public static long subduction(Date date1, Date date2){
long day=24*60*60*1000;
long l = date1.getTime()-date2.getTime();
return Math.abs(l)/day;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: