删除 src/main/java/com/bonus/autoweb/DateTimeUtils.java
This commit is contained in:
parent
3c106ad1ed
commit
673428752f
|
|
@ -1,288 +0,0 @@
|
||||||
package com.bonus.autoweb;
|
|
||||||
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 日期操作工具类
|
|
||||||
*/
|
|
||||||
public class DateTimeUtils {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取当前时间是本周第几天,从周一开始计算
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static int getWeekOfDate(String dateString ) throws ParseException {
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
Date dt= sdf.parse(dateString);
|
|
||||||
int[] weekDays = {7, 1, 2, 3, 4,5, 6};
|
|
||||||
Calendar cal = Calendar.getInstance();
|
|
||||||
cal.setTime(dt);
|
|
||||||
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
|
|
||||||
if (w < 0){
|
|
||||||
w = 0;
|
|
||||||
}
|
|
||||||
return weekDays[w];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**'
|
|
||||||
*获取当前时间是本月第几周
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static int getWeekNum(String dateString ) throws ParseException {
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
Date date= sdf.parse(dateString);
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
calendar.setTime(date);
|
|
||||||
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);
|
|
||||||
if (getWeekOfDate(dateString) == 7){
|
|
||||||
weekOfMonth = weekOfMonth - 1;
|
|
||||||
}
|
|
||||||
return weekOfMonth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取本月第一天在第几周
|
|
||||||
* @return true 0 false >0
|
|
||||||
* @throws ParseException
|
|
||||||
*/
|
|
||||||
public static boolean getMonthOneDayIs0() throws ParseException {
|
|
||||||
LocalDate firstDayOfMonth = LocalDate.now().withDayOfMonth(1);
|
|
||||||
int t=getWeekNum(firstDayOfMonth.toString());
|
|
||||||
// int t=getWeekNum(day);
|
|
||||||
if(t>0){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取上个月的最后一天
|
|
||||||
*/
|
|
||||||
public static String getBeforeLastMonthdate(){
|
|
||||||
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
Calendar calendar=Calendar.getInstance();
|
|
||||||
int month=calendar.get(Calendar.MONTH);
|
|
||||||
calendar.set(Calendar.MONTH, month-1);
|
|
||||||
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
|
|
||||||
String format = sf.format(calendar.getTime());
|
|
||||||
return format;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取当前日期
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getCurrentDay(){
|
|
||||||
Date date=new Date();
|
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
return formatter.format(date);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取昨天的日期
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getLastDayYYYYMMDD(){
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
Calendar c = Calendar.getInstance();
|
|
||||||
c.add(Calendar.DATE, -1);//-1.昨天时间 0.当前时间 1.明天时间 *以此类推
|
|
||||||
String time = sdf.format(c.getTime());
|
|
||||||
System.out.println("昨天的时间时间是:" + time);//20190704
|
|
||||||
return time;
|
|
||||||
}
|
|
||||||
private static List<Integer> getARandomCollectionOfData() {
|
|
||||||
Random random = new Random();
|
|
||||||
int minCount = 3; // 最小数量
|
|
||||||
int maxCount = 5; // 最大数量
|
|
||||||
int count = random.nextInt(maxCount - minCount + 1) + minCount; // 随机生成数量
|
|
||||||
List<Integer> numbers = new ArrayList<>();
|
|
||||||
while (numbers.size() < count) {
|
|
||||||
int randomNumber = random.nextInt(6) + 2; // 随机生成1到7的数字
|
|
||||||
if (!numbers.contains(randomNumber)) {
|
|
||||||
numbers.add(randomNumber);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Collections.shuffle(numbers);
|
|
||||||
System.out.println(numbers);
|
|
||||||
return numbers;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) throws ParseException {
|
|
||||||
// System.out.println(getMMDDByNow());
|
|
||||||
//获取一个随机数据集合
|
|
||||||
List<Integer> list = getARandomCollectionOfData();
|
|
||||||
for (int i = 0; i < list.size(); i++) {
|
|
||||||
String type = "";
|
|
||||||
String company = "";
|
|
||||||
if (i < 2){
|
|
||||||
type = "通信测试";
|
|
||||||
}else {
|
|
||||||
type = "日常操练";
|
|
||||||
}
|
|
||||||
switch(String.valueOf(list.get(i))){
|
|
||||||
case "1":
|
|
||||||
company = "宿州";
|
|
||||||
break;
|
|
||||||
case "2":
|
|
||||||
company = "埇桥";
|
|
||||||
break;
|
|
||||||
case "3":
|
|
||||||
company = "砀山";
|
|
||||||
break;
|
|
||||||
case "4":
|
|
||||||
company = "萧县";
|
|
||||||
break;
|
|
||||||
case "5":
|
|
||||||
company = "灵璧";
|
|
||||||
break;
|
|
||||||
case "6":
|
|
||||||
company = "城郊";
|
|
||||||
break;
|
|
||||||
case "7":
|
|
||||||
company = "泗县";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
System.out.println(type);
|
|
||||||
System.out.println(company);
|
|
||||||
System.out.println(i+1);
|
|
||||||
System.out.println("-------------------");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public static String getCurrentDay2(){
|
|
||||||
Date date=new Date();
|
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("MM月dd日");
|
|
||||||
return formatter.format(date);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取昨天的日期
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getLastDay(){
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日");
|
|
||||||
Calendar c = Calendar.getInstance();
|
|
||||||
c.add(Calendar.DATE, -1);//-1.昨天时间 0.当前时间 1.明天时间 *以此类推
|
|
||||||
String time = sdf.format(c.getTime());
|
|
||||||
System.out.println("昨天的时间时间是:" + time);//20190704
|
|
||||||
return time;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 获取明天的日期
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getTomorrowDate() {
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日");
|
|
||||||
Calendar c = Calendar.getInstance();
|
|
||||||
c.add(Calendar.DATE, 1);//-1.昨天时间 0.当前时间 1.明天时间 *以此类推
|
|
||||||
String time = sdf.format(c.getTime());
|
|
||||||
System.out.println("昨天的时间时间是:" + time);//20190704
|
|
||||||
return time;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 获取当前月日
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getCurrentDayByMonth(){
|
|
||||||
Date date=new Date();
|
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("MM月dd日");
|
|
||||||
return formatter.format(date);
|
|
||||||
}
|
|
||||||
public static String getMMDDByNow(){
|
|
||||||
Date date=new Date();
|
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("MMdd");
|
|
||||||
return formatter.format(date);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断当前日期是否为本月第一天
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static boolean isOneDay(){
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
Date now = new Date();
|
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");//可以方便地修改日期格式
|
|
||||||
String curr = dateFormat.format( now );
|
|
||||||
System.out.println("当前日期:" + curr);
|
|
||||||
|
|
||||||
Calendar c = Calendar.getInstance();//可以对每个时间域单独修改
|
|
||||||
|
|
||||||
int year = c.get(Calendar.YEAR);
|
|
||||||
int month = c.get(Calendar.MONTH);
|
|
||||||
int date = c.get(Calendar.DATE);
|
|
||||||
if(date == 1){
|
|
||||||
System.out.println(curr + "是第一天");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
System.out.println(curr + "不是第一天");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断当前时间是否在[startTime, endTime]区间,注意三个参数的时间格式要一致
|
|
||||||
* @param startTime
|
|
||||||
* @param endTime
|
|
||||||
* @return 在时间段内返回true,不在返回false
|
|
||||||
*/
|
|
||||||
public static boolean isEffectiveDate(String startTime, String endTime){
|
|
||||||
/**
|
|
||||||
* 判断当前时间是否在一个时间段内 HH:mm 格式
|
|
||||||
*/
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
|
|
||||||
String now = sdf.format(new Date());
|
|
||||||
Date nowTime;
|
|
||||||
try{
|
|
||||||
nowTime = sdf.parse(now);
|
|
||||||
Date startTime1 = sdf.parse(startTime);
|
|
||||||
Date endTime1 = sdf.parse(endTime);
|
|
||||||
if (nowTime.getTime() == startTime1.getTime()
|
|
||||||
|| nowTime.getTime() == endTime1.getTime()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Calendar date = Calendar.getInstance();
|
|
||||||
date.setTime(nowTime);
|
|
||||||
|
|
||||||
Calendar begin = Calendar.getInstance();
|
|
||||||
begin.setTime(startTime1);
|
|
||||||
|
|
||||||
Calendar end = Calendar.getInstance();
|
|
||||||
end.setTime(endTime1);
|
|
||||||
|
|
||||||
return date.after(begin) && date.before(end);
|
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean compareDate(String date1, String date2) throws ParseException {
|
|
||||||
boolean tf = false;
|
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
|
||||||
|
|
||||||
// 定义起始日期和结束日期
|
|
||||||
Date startDate = dateFormat.parse(date1 + " 00:00:00");
|
|
||||||
Date endDate = dateFormat.parse(date2 + " 23:59:59");
|
|
||||||
|
|
||||||
// 定义要判断的日期
|
|
||||||
Date dateToCheck = new Date();
|
|
||||||
|
|
||||||
// 判断日期是否在范围内
|
|
||||||
if (startDate.compareTo(dateToCheck) <= 0 && endDate.compareTo(dateToCheck) >= 0) {
|
|
||||||
System.out.println("日期在范围内");
|
|
||||||
tf = true;
|
|
||||||
} else {
|
|
||||||
tf = false;
|
|
||||||
System.out.println("日期不在范围内");
|
|
||||||
}
|
|
||||||
return tf;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue