XiMengJianYu/.svn/pristine/40/40fd2d5b3aac4b236f7c1c2e04af078cef16fe4c.svn-base
2023-04-17 17:58:44 +08:00

183 lines
4.8 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.example.administrator.ximengjianyu.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Created by xukai on 2017/2/14.
*/
public class TimeUtils {
/**
* 该方法用来获取当前的系统时间,并格式化事件
*/
public String getCurrentTime(){
long timeMillis = System.currentTimeMillis();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date curDate = new Date(timeMillis);
String strData = formatter.format(curDate);
return strData;
}
/**
* 获取当前年份
*
* @return
*/
public static int getYear() {
return Calendar.getInstance().get(Calendar.YEAR);
}
/**
* 获取当前月份
*
* @return
*/
public static int getMonth() {
return Calendar.getInstance().get(Calendar.MONTH) + 1;
}
/**
* 获取当前日期是该月的第几天
*
* @return
*/
public static int getCurrentDayOfMonth() {
return Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
}
/**
* 获取当前日期是该周的第几天
*
* @return
*/
public static int getCurrentDayOfWeek() {
return Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
}
/**
* 获取当前是几点
*/
public static int getHour() {
return Calendar.getInstance().get(Calendar.HOUR_OF_DAY);//二十四小时制
}
/**
* 获取当前是几分
*
* @return
*/
public static int getMinute() {
return Calendar.getInstance().get(Calendar.MINUTE);
}
/**
* 获取当前秒
*
* @return
*/
public static int getSecond() {
return Calendar.getInstance().get(Calendar.SECOND);
}
/**
* 根据传入的年份和月份,获取当前月份的日历分布
*
* @param year
* @param month
* @return
*/
public static int[][] getDayOfMonthFormat(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1);//设置时间为每月的第一天
//设置日历格式数组,6行7列
int days[][] = new int[6][7];
//设置该月的第一天是周几
int daysOfFirstWeek = calendar.get(Calendar.DAY_OF_WEEK);
//设置本月有多少天
int daysOfMonth = getDaysOfMonth(year, month);
//设置上个月有多少天
int daysOfLastMonth = getLastDaysOfMonth(year, month);
int dayNum = 1;
int nextDayNum = 1;
//将日期格式填充数组
for (int i = 0; i < days.length; i++) { //最大值为5从0开始长度为6
for (int j = 0; j < days[i].length; j++) { //j的长度为7最大值6
if (i == 0 && j < daysOfFirstWeek - 1) { //第一行 并且小于该月第一天的周几-1
// days[i][j] = 0;
days[i][j] = daysOfLastMonth - daysOfFirstWeek + 2 + j;
} else if (dayNum <= daysOfMonth) {
days[i][j] = dayNum++;
} else {
days[i][j] = nextDayNum++;
}
}
}
return days;
}
/**
* 根据传入的年份和月份,判断上一个月有多少天
*
* @param year
* @param month
* @return
*/
public static int getLastDaysOfMonth(int year, int month) {
int lastDaysOfMonth = 0;
if (month == 1) {
lastDaysOfMonth = getDaysOfMonth(year - 1, 12);
} else {
lastDaysOfMonth = getDaysOfMonth(year, month - 1);
}
return lastDaysOfMonth;
}
/**
* 根据传入的年份和月份,判断当前月有多少天
*
* @param year
* @param month
* @return
*/
public static int getDaysOfMonth(int year, int month) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
if (isLeap(year)) {
return 29;
} else {
return 28;
}
case 4:
case 6:
case 9:
case 11:
return 30;
}
return -1;
}
/**
* 判断是否为闰年
*
* @param year
* @return
*/
public static boolean isLeap(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true;
}
return false;
}
}