获取当前日期、获取当前时间、获取指定格式的日期时间、时间戳
日期时间格式的定义说明
日期时间格式 | 格式说明 |
---|---|
小写的yyyy | 表示4位年份数字,如2010、2020等 |
大写的MM | 表示两位月份数字,如01表示一月份,12表示12月份 |
小写的dd | 表示两位日期数字,如09表示当月9号,26表示当月26号 |
大写的HH | 表示24小时制的两位小时数字,如22表示晚上10点 |
小写的hh | 表示12小时制的两位小时数字,如06可同时表示早上6点与傍晚6点,容易产生歧义所以实际开发中很少用 |
小写的mm | 表示两位分钟数字,如45表示某点45分 |
小写的ss | 表示两位秒钟数字 |
大写的SSS | 表示三位毫秒数字 |
时间格式内部其余的横线“-”、空格“ ”、冒号“:”、点号“.”等字符仅仅是连接符,方便观看各种单位的时间数字而已,国内,也可以使用形如“yyyy年dd日HHmm分ss秒”的时间格式
代码如下,复制粘贴改包名即可使用,
package com.llw.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
//获取当前完整的日期和时间
public static String getNowDateTime(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
return sdf.format(new Date());
}
//获取当前日期
public static String getNowDate(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd");
return sdf.format(new Date());
}
//获取当前日期
public static String getNowTime(){
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(new Date());
}
//获取当前日期(精确到毫秒)
public static String getNowTimeDetail(){
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS");
return sdf.format(new Date());
}
//将时间戳转化为对应的时间(10位或者13位都可以)
public static String formatTime(long time){
String times = null;
if(String.valueOf(time).length()>10){// 10位的秒级别的时间戳
times = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time * 1000));
}else {// 13位的秒级别的时间戳
times = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time);
}
return times;
}
//将时间字符串转为时间戳字符串
public static String getStringTimestamp(String time) {
String timestamp = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Long longTime = sdf.parse(time).getTime()/1000;
timestamp = Long.toString(longTime);
} catch (ParseException e) {
e.printStackTrace();
}
return timestamp;
}
}