import java.text.ParseException
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Date
import org.junit.Test
/**
* @author Administrator
* 各种日期、时间转换的示例总结:
*/
public class DateFormatUtil {
/**
* 将当前时间转换成指定格式的日期形式的字符串输出
* */
@Test
public void dateToStr(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String dateString = sdf.format(new Date())
System.out.println(dateString)
}
/**
* 将给定时间格式的字符串,解析成Date输出
* @throws ParseException
* */
@Test
public void strToDate() throws ParseException{
String str = "201012241002"//yyyyMMddhhmm
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm")
Date date = sdf.parse(str)
System.out.println(date)
}
/**
* 字符串,格式化 为指定字符串
* @throws ParseException
*/
@Test
public void formatstr()throws ParseException{
String str = "20170314155847"//yyyyMMddhhmm
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss")
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String str2 = sdf2.format(sdf.parse(str))
System.out.println(str2)
}
/**
* 操作时间:当前时间减去一天,一月,一年
*/
@Test
public void oprateDate(){
Date date = new Date()//获取当前时间
Calendar calendar = Calendar.getInstance()
calendar.setTime(date)
// calendar.add(Calendar.YEAR, -1)//当前时间减去一年,即一年前的时间
// calendar.add(Calendar.MONTH, -1)//当前时间前去一个月,即一个月前的时间
calendar.add(Calendar.DATE, -1)
Date time = calendar.getTime()//获取一年前的时间,或者一个月前的时间
System.out.println(time)
}
}
Java的Date类使用long类型纪录这些毫秒值.因为long是有符号整数,所以日期可以在1970年1月1日之前,也可以在这之后。Long类型表示的最大正值和最大负值可以轻松的表示290,000,000年的时间,这适合大多数人的时间要求。