获取日期 yyyyMMddHHmmss
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public static String applyTB() {
String prefix = "JGFG-TB-";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
return prefix + LocalDateTime.now().format(formatter);
}
日期字符串转换成Date对象
/**
* 将Date类型转换成String类型
* 需要注意给定的模式必须和给定的字符串格式匹配,否则会抛出java.text.ParseException异常
*
* @param str yyyy-MM-dd HH:mm:ss
* @return Date */
public static Date stringToDate(String str) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dt = new Date();
try {
dt = sdf.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return dt;
}
package cn.duchaoqun.util;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* 日期工具类
* <p>
* SimpleDateFormat 所有占位符含义
* • G 年代标志符
* • y 年
* • M 月
* • d 日
* • h 时 在上午或下午 (1~12)
* • H 时 在一天中 (0~23)
* • m 分
* • s 秒
* • S 毫秒
* • E 星期
* • D 一年中的第几天
* • F 一月中第几个星期几
* • w 一年中第几个星期
* • W 一月中第几个星期
* • a 上午 / 下午 标记符
* • k 时 在一天中 (1~24)
* • K 时 在上午或下午 (0~11)
* • z 时区
*/
public class DateUtil {
private static final SimpleDateFormat DefaultDateFormat = new SimpleDateFormat("yyyy-MM-dd");
private static final SimpleDateFormat DefaultDateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 获取昨天的日期时间字符串
* @return 2023-03-02 00:00:00
*/ public static String getYesterdayDateTimeStr() {
Date date = new Date();
Calendar cc = new GregorianCalendar();
cc.clear();
cc.setTime(date);
cc.add(Calendar.DATE, -1); //把日期往后增加一天.整数往后推,负数往前移动
date = cc.getTime();
return DefaultDateTimeFormat.format(date);
}
/**
* 获取当前日期+时间字符串
*
* @return 2023-03-03 00:00:00 */ public static String getCurrentDateTimeStr() {
return DefaultDateTimeFormat.format(new Date());
}
/**
* 获取当前日期字符串
*
* @return 2023-03-03 */ public static String getCurrentDateStr() {
return DefaultDateFormat.format(new Date());
}
public static String getTomorrowDate() {
Date date = new Date();
Calendar cc = new GregorianCalendar();
cc.clear();
cc.setTime(date);
cc.add(cc.DATE, 1); //把日期往后增加一天.整数往后推,负数往前移动
date = cc.getTime(); //这个时间就是日期往后推一天的结果
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); //大写的HH就是使用24小时制度
String dateString = formatter.format(date);
return dateString;
}
public static String getTomorrowDateTime() {
Date date = new Date();
Calendar cc = new GregorianCalendar();
cc.clear();
cc.setTime(date);
cc.add(cc.DATE, 1); //把日期往后增加一天.整数往后推,负数往前移动
date = cc.getTime(); //这个时间就是日期往后推一天的结果
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd 00:00:00"); //大写的HH就是使用24小时制度
String dateString = formatter.format(date);
return dateString;
}
public static String getTomorrowTime() {
Date date = new Date();
Calendar cc = new GregorianCalendar();
cc.clear();
cc.setTime(date);
cc.add(cc.DATE, 1); //把日期往后增加一天.整数往后推,负数往前移动
date = cc.getTime(); //这个时间就是日期往后推一天的结果
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //大写的HH就是使用24小时制度
String dateString = formatter.format(date);
return dateString;
}
/**
* @return 明年今日日期
*/
public static String getNextYearCurrentDateStr() {
Calendar calendar = new GregorianCalendar();
calendar.clear();
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, 12);
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
Date target = calendar.getTime();
return DefaultDateFormat.format(target);
}
public static String getCurrentYearAndMonth() {
DateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date d = new Date(System.currentTimeMillis());
return sdf.format(d);
}
public static String getPreMonth(int i) {
Calendar c = Calendar.getInstance();
return null;
}
/**
* 获取今年第一月第一天Date
* * @return 2023-01-01 */ public static String getCurrentYearFirstDay() {
Calendar c = Calendar.getInstance();
// 设置今年
c.add(Calendar.YEAR, 0);
// 设置第一月
c.set(Calendar.MONTH, 0);
// 设置第一天
c.set(Calendar.DAY_OF_MONTH, 1);
return DefaultDateFormat.format(c.getTime());
}
/**
* 获取当月第一天日期和时间
* @return 日期和时间字符串
*/
public static String getCurrentMonthFirstDayDateTimeStr() {
Calendar c = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
return DefaultDateTimeFormat.format(c.getTime());
}
/**
* 获取当月最后一天的日期和时间字符串
* @return 日期和时间字符串
*/
public static String getCurrentMonthLastDayDateTimeStr() {
Calendar para = Calendar.getInstance(java.util.Locale.CHINA);
para.setTime(new Date());
para.set(Calendar.DATE, para.getActualMaximum(Calendar.DAY_OF_MONTH));
para.set(Calendar.HOUR_OF_DAY, 23);
para.set(Calendar.MINUTE, 59);
para.set(Calendar.SECOND, 59);
return DefaultDateTimeFormat.format(para.getTime());
}
public static String getNextMonthData() {
Date date = new Date();
Calendar cc = new GregorianCalendar();
cc.clear();
cc.setTime(date);
cc.add(cc.MONTH, 1); //把日期往后增加一个月.整数往后推,负数往前移动
date = cc.getTime(); //这个时间就是日期往后推一天的结果
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); //大写的HH就是使用24小时制度
String dateString = formatter.format(date);
return dateString;
}
public static String dateToString(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// System.out.println(sdf.format(date));
// sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); return sdf.format(date);
}
/**
* 将 Unix 时间戳转换成可识别的字符串
*
* @param timestampString TimeStamp时间戳
* @return DateTime String
*/ public static String timeStampToDateString(String timestampString) {
long timestamp = Long.parseLong(timestampString);
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(timestamp));
}
public static void main(String[] args) {
System.out.println(getCurrentYearFirstDay());
System.out.println(getCurrentDateStr());
}
}