介绍
常用的获取日期字符串的小工具,如果有新的会持续更新,主要包括以下代码,直接复制使用
代码
获取当前年月日时分秒字符串
import java.text.SimpleDateFormat;
import java.util.Date;
public static String getDateTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());
}
public static void main(String[] args) {
System.out.println(getDateTime());
}
获取当前年月日字符串
import java.text.SimpleDateFormat;
import java.util.Date;
public static String getDateStr() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date());
}
public static void main(String[] args) {
System.out.println(getDateStr());
}
获取当前时间字符串
import java.text.SimpleDateFormat;
import java.util.Date;
public static String getTimeStr() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(new Date());
}
public static void main(String[] args) {
System.out.println(getTimeStr());
}
获取当前年月字符串
import java.text.SimpleDateFormat;
import java.util.Date;
public static String getYearMonth() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
return sdf.format(new Date());
}
public static void main(String[] args) {
System.out.println(getYearMonth());
}
获取上月年月字符串
import java.util.Calendar;
public static String getLastMonthStr() {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
String monthStr = month + "";
if (month < 10) {
monthStr = "0" + month;
}
return year + "-" + monthStr;
}
public static void main(String[] args) {
System.out.println(getLastMonthStr());
}
获取下个月年月字符串
import java.util.Calendar;
public static String getNextMonthStr() {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 2;
String monthStr = month + "";
if (month < 10) {
monthStr = "0" + month;
}
return year + "-" + monthStr;
}
public static void main(String[] args) {
System.out.println(getNextMonthStr());
}
获取指定年月字符串的最后一天字符串
如"2023-02"得到"2023-02-28",如有需求获取指定年月的第一天,上边的指定年月方法,返回时直接拼接一个字符串"01"返回就好了,每月1号的获取比较简单
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public static String getLastMonthDay(String dates) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date dt = null;
try {
dt = sdf.parse(dates);
} catch (ParseException e) {
e.printStackTrace();
}
//获取当前月最后一天
Calendar ca = Calendar.getInstance();
ca.setTime(dt);
int days = ca.getActualMaximum(Calendar.DAY_OF_MONTH) - 1;
String firstDay = DateUtils.parseDateToStr("yyyy-MM-01", dt);
Date startDate = null;
try {
startDate = DateUtils.parseDate(firstDay, "yyyy-MM-dd");
} catch (ParseException e) {
e.printStackTrace();
return "";
}
Date date = DateUtils.addDays(startDate, days);
// 获取最后一天
String lastDay = DateUtils.parseDateToStr("yyyy-MM-dd", date);
return lastDay;
}
public static void main(String[] args) {
System.out.println(getLastMonthDay("2023-02"));
}
判断指定年月日那天是否是未来时间
返回false不是未来时间 返回true是未来时间
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public static boolean futureTime(String dateStr) {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date parse = null;
try {
parse = sdf1.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
Date date = new Date();
if (parse.getTime() > date.getTime()) {
return true;
}
return false;
}
public static void main(String[] args) {
System.out.println(futureTime("2023-10-26"));
}
判断指定年月日那天是否是本月时间
返回false不是本月时间 返回true是本月时间
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public static boolean isThisTime(String dateStr) {
String pattern = "yyyy-MM";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date parse = null;
try {
parse = sdf1.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
Date date = new Date(parse.getTime());
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
//参数时间
String param = sdf.format(date);
//当前时间
String now = sdf.format(new Date());
if (param.equals(now)) {
return true;
}
return false;
}
public static void main(String[] args) {
System.out.println(isThisTime("2023-09-01"));
}
结语
慢慢累计时间工具,当前是本次开发使用的一些时间上相关的东西,记录并分享,有新的还会加进来的