- 浏览: 152174 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (74)
- jquery的布局和table (1)
- jquery树 (1)
- 删除c8600系统的软件 (1)
- java获得实例对象的几种方法 (1)
- c++MFC int 转 std::string (1)
- java 内部类,匿名内部类使用 (1)
- c++线程CreateThread以及调用参数的函数 (1)
- c++ 传参 (1)
- c++ std::string repalce字符串 csdn一仁兄的代码 (1)
- c++ 常用的代码例子 (1)
- c++ 常用的代码例子2 (1)
- c++ 常用的代码例子3 (1)
- c++ 多态 (1)
- c++ 多态2 (1)
- bat 循环执行exe (1)
- vc++ 一些知识 (1)
- vc++ 一些知识2 (1)
- c++ 模板,自定义strcat,strcmp (0)
- c++ 模板,自定义strcat,strcmp2 (0)
- vc++ static_cast (1)
- dynamic_cast (1)
- vc++ 宏 (1)
- vc++ 宏2 (1)
- reinterpret_cast (1)
- vc++ 10 (0)
- vc++ 11 (0)
- 一些资料网站 (0)
- vc++ odbc (0)
- vc++ odbc2 (0)
- vc++ odbc3 (0)
- vc++ odbc4 (0)
- 要看1 (0)
- 要看2 (0)
- android (1)
- spring+Quartz定时器,调用hibernate Service服务操作数据库 (1)
- 一起学arcgis:(一)arcgis for js 基于tomcat搭建离线js API 实现离线js地图 (1)
- arcgis js 3.3、3.4 计算面积 geometryService.simplify([geometry] (1)
- function(simplifiedGeometries) (1)
- arcgis for js3.3、3.4版本 点、线、面缓冲查询,proxy 403 错误码解决方式 (1)
- arcgis、js api 离线、dojo 无法找到的问题 (1)
- jquery获得同窗口里iframe页面里的form序列化值 (1)
- jquery设置table 鼠标移动、离开、点击样式,同时css设置table滚动条(访tablePanel) (1)
- bat 批命令直接打开文件夹,再不用一层一层点击常用的文件夹 (1)
- android.widget.ExpandableListView树事例 (1)
- mysql 查询开始、结束时间差,并进行时间汇总 (1)
- java unicode编码文件 转换为utf-8保存 (1)
- 务器负载均衡技术:使用apache部署集群实现负载均衡 (1)
- java (1)
- java properties文件读取和编写操作 (1)
- java 利用apache的 poi技术库读取excel数据 (1)
- java 日期操作工具类:包括获得日期是星期几、验证日期是否超过5个验工作日等 (0)
- java 日期操作工具类:包括获得日期是星期几、验证日期是否超过5个验工作日、动态主键、验证码等 (1)
- jmeter+badboy工具通过压力测试实现网站的并发性能测试 (1)
- jmeter工具实现对mysql数据库的压力测试、发性能测试 (1)
- centos6.3+hadoop2.6.0搭建分布平台:hadoop namenode -format 错误:unable to determine local hostname -falling back to "localhost" (1)
- hadoop2.6.0环境搭建 (1)
- zookeeper-3.4.6环境配置 (1)
- java ResultSet获得数据库表信息和表字段信息,自动生成pojo和spring 框架的service 和dao (1)
- java jdbc连接池化封装 (1)
- java socket 获得远程数据 (1)
- jdbc连接mysql数据库乱码等 (1)
- mysql hibernate SessionFactory 8 小时数据库连接关闭错误解决方案:CommunicationsException: Communications link failure due to underlying exception: (1)
- ztree 循环获得所有子节点信息和循环获取父结点信息 (1)
- mysql 实现查询日志表不同用户 最新的一条日志记录,以end_time为最新 (1)
- mysql分表记录查询同一用户在不同日志表的相关记录。即多表查询,无关联条件 (1)
- linux查询tomcat 8080端口占用,并杀死进程 (1)
- hadoop、 hbase (1)
- java通过pid、parentId生成tree树形结构json集合.将pojo集合类根据pid自动生成树形json (1)
- Access-Control-Allow-Origin: * (1)
- * 前后端出现跨域问题 (1)
- 多* (1)
- mysql 根据父节点id(teamsid) 统计为0的根数据列表,同时将子数据整合在父数据列表里 (1)
最新评论
-
Dtscal:
都不会了
mysql 查询开始、结束时间差,并进行时间汇总 -
kqzl67890:
弄个效果图出来看哈撒
jquery设置table 鼠标移动、离开、点击样式,同时css设置table滚动条(访tablePanel) -
kqzl67890:
兰州烧饼...
mysql 查询开始、结束时间差,并进行时间汇总 -
SE7EN:
thanks
hadoop 文档:Hadoop开发者下载 -
zhangpurple:
...
jquery树
package com.csidc.as.util;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Vector;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.csidc.as.pojo.Days;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
/**
*
* 功能作用: 对外提供日期操作的相关方法
*
* @version: 1.0
* @create date: 2012-11-29
* @author: lili
* @remark:
*/
public class DateOperate {
private static final Log LOG = LogFactory.getLog(DateOperate.class);
private static Calendar now;
// public static void main(String[] args) throws Exception{
// String start = "2012-12-19 09:00:00";
// String end = "2012-12-20 17:00:10";
// //String date = getStartEndDate(start,end);
//
// long[] difday = DateOperate.getDistanceTimes(start,end);//返回值为:{天, 时, 分,
// 秒}
// String str = difday[0]+"天"+difday[1]+"时"+difday[2]+"分"+difday[3]+"秒";
// System.out.println(str);
// }
public static String getStartEndDate(String start, String end) {
String date = "0";
return date;
}
// 获得当前年
public static String getCurYear() {
now = Calendar.getInstance();
return now.get(Calendar.YEAR) + "";
}
// 获得当前月
public static String getCurMoth() {
now = Calendar.getInstance();
return (now.get(Calendar.MONTH) + 1) + "";
}
// 获得当前日期
public static String getCurDay() {
now = Calendar.getInstance();
return now.get(Calendar.DAY_OF_MONTH) + "";
}
// 获得当前日期
public static String getCurDate() {
Date d = new Date();
return dateToStr(d);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String dateNowStr = sdf.format(d);
// return dateNowStr;
}
/**
* 根据日期字符串获得时分秒字符串"2013-10-31 09:10:00";
* @param str
* @return
*/
public static String getHMS(String str){
try{
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf1.parse(str);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");//时:分:秒:毫秒
String s = sdf.format(d);
System.out.println();
return s;
}catch (Exception e) {
return "";
}
}
/**
* 将Date对象转换为yyyy-MM-dd HH:mm:ss字符串
*
* @param d
* @return
*/
public static String dateToStr(Date d) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateNowStr = sdf.format(d);
return dateNowStr;
}
/**
* 将yyyy-MM-dd HH:mm:ss字符串转换为Date对象
*
* @param d
* @return
*/
public static Date strToDate(String dstr) {
Date today = null;
try {
// String str = "2012-1-13 17:26:33"; //要跟上面sdf定义的格式一样
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
today = sdf.parse(dstr);
} catch (Exception e) {
today = new Date();
}
return today;
}
/**
* 获得当前时间毫秒数
*
* @return
*/
public static String getMillis() {
now = Calendar.getInstance();
return now.getTimeInMillis() + "";
}
/**
* 获得主键
*
* @return
*/
public static synchronized String getPk() {
String pk = getMillis() + generateCheckCode();
return pk;
}
/**
* 随机产生4个字符串
*
* @return
*/
public static String generateCheckCode() {
String chars = "0123456789";
char[] rands = new char[4];
for (int i = 0; i < 4; i++) {
int rand = (int) (Math.random() * 10);
rands[i] = chars.charAt(rand);
}
String tmp = new String(rands);
return tmp;
}
/**
* 两个时间相差距离多少天多少小时多少分多少秒
*
* @param str1
* 时间参数 1 格式:1990-01-01 12:00:00
* @param str2
* 时间参数 2 格式:2009-01-01 12:00:00
* @return long[] 返回值为:{天, 时, 分, 秒}
* @throws java.text.ParseException
*/
public static long[] getDistanceTimes(String str1, String str2)
throws java.text.ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date one;
Date two;
long day = 0;
long hour = 0;
long min = 0;
long sec = 0;
try {
one = df.parse(str1);
two = df.parse(str2);
long time1 = one.getTime();
long time2 = two.getTime();
long diff;
if (time1 < time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
day = diff / (24 * 60 * 60 * 1000);
hour = (diff / (60 * 60 * 1000) - day * 24);
min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
sec = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
} catch (ParseException e) {
e.printStackTrace();
}
long[] times = { day, hour, min, sec };
return times;
}
/************************* 验证超过5个工作日 *****************************/
public static void main(String[] args) {
// String ckdate = "2013-03-15 16:33:44";
// System.out.println(isgt5(ckdate));
try {
// String strDateStart = "2013-5-8";
// SimpleDateFormat sdf = new
// SimpleDateFormat("yyyy-MM-dd");//yyyy/MM/dd HH:mm:ss
//
// Date date_start = sdf.parse(strDateStart);
// Calendar cal_start = Calendar.getInstance();
// Calendar cal_end = Calendar.getInstance();
// cal_start.setTime(date_start);
// System.out.println(getChineseWeek(cal_start));
// System.out.println(">>>>>>>>");
// String date = "2013-5-8";
// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// Date d = df.parse(date);
// date = df.format(d);
// System.out.println(date);
/*
* //判断上周周数 Calendar now = Calendar.getInstance(); int nowweek =
* now.get(Calendar.WEEK_OF_YEAR); String years =
* now.get(Calendar.YEAR
* )+"-"+(now.get(Calendar.MONTH)+1)+"-"+now.get
* (Calendar.DAY_OF_MONTH); System.out.println(years+"周:"+nowweek);
* int lastWeek = nowweek -1; System.out.println("上周:"+lastWeek);
* String date = "2013-6-2"; DateFormat df = new
* SimpleDateFormat("yyyy-MM-dd"); Date d = df.parse(date); Calendar
* cal = Calendar.getInstance(); cal.setTime(d); int week =
* cal.get(Calendar.WEEK_OF_YEAR);
* System.out.println(date+"周:"+week);
*/
// String str = "08:20 08:21 17:12 17:33";
// String str = "08:55";
// String str = "09:10 16:59";
/*String str = "08:56 17:10";
if (null == str || "".equals(str)) {
} else {
String[] strs = str.split(" ");
String tmp = "";
boolean islate = true;// 默认迟到
boolean isearlyLeft = true;// 默认早退
// System.out.println("大小:"+strs.length);
for (int i = 0; i < strs.length; i++) {
tmp = strs[i];
// System.out.println(tmp+":"+compTime(tmp,"09:10"));//如果大于9:10就是迟到'
if (islate) {
if (compTime(tmp, "09:10", "lt")) {// 如果小于9:10,就不迟到
islate = false;
}
}
if (isearlyLeft) {
if (compTime(tmp, "17:00", "gt")) {// 如果大于17:00,就不早退
isearlyLeft = false;
}
}
}
System.out.println("上班:" + islate);
System.out.println("下班:" + isearlyLeft);
}
*/
List<String> dayStrL = getBetweenDaysStr("2013-09-22","2013-09-26");
String ckStr = "2013-09-26";
if(dayStrL.contains(ckStr)){
System.out.println("存在");
}else{
System.out.println("不存在");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static boolean compTime(String s1, String s2, String gtlt) {
if (s1.indexOf(":") < 0 || s1.indexOf(":") < 0) {
System.out.println("格式不正确");
} else {
String[] array1 = s1.split(":");
int total1 = Integer.valueOf(array1[0]) * 3600
+ Integer.valueOf(array1[1]) * 60
// + Integer.valueOf(array1[2]);
;
// System.out.println(total1);
String[] array2 = s2.split(":");
int total2 = Integer.valueOf(array2[0]) * 3600
+ Integer.valueOf(array2[1]) * 60;
// + Integer.valueOf(array2[2]);
// System.out.println(total2);
if ("gt".equalsIgnoreCase(gtlt)) {// 大于等于
return total1 - total2 >= 0 ? true : false;
} else if ("lt".equalsIgnoreCase(gtlt)) {
return total1 - total2 <= 0 ? true : false;
}
}
return false;
}
public static boolean isgt5(String ckdate){
try {
boolean isgt = false;
//String strDateStart = "2013-3-1";
// String strDateEnd = "2006-10-14";
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//yyyy/MM/dd HH:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//
// Date date_start = sdf.parse(strDateStart);
// Date date_end = sdf.parse(strDateEnd);
// Date date_end = new Date();
//新建一个日历对象。注意:类Calendar是抽象的要使用getInstance()实例化,或者实例化其子类
Calendar calen = Calendar.getInstance();
//日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期
// calen.setTime(date_end);
Date date_end = calen.getTime();
//将日历的"天"增加5
int num = 8;//默认5
try{
//获得配置文件里的天数
String filePath = Thread.currentThread().getContextClassLoader().getResource("")+"prop.properties";
LOG.info("获得当前线程路径:"+filePath);
filePath = filePath.substring(6);
LOG.info("获得路径:"+filePath);
String attTimeNum = PropertyEditor.readValue(filePath,"attTimeNum");
LOG.info("读取到考勤限制天数:"+attTimeNum);
num = Integer.parseInt(attTimeNum);
num += 3;//向前3天进行计算
}catch (Exception e) {
LOG.info("读取到考勤限制天数出错");
num = 8;//默认5
}
LOG.info("应减去天数:"+num);
calen.add(Calendar.DAY_OF_YEAR,-num);
//获取日历对象的时间,并赋给日期对象c
Date date_start = calen.getTime();
LOG.info(num+"天前:"+sdf.format(date_start));
LOG.info("结束时间:"+sdf.format(date_end));
// DateCal app = new DateCal();
Calendar cal_start = Calendar.getInstance();
Calendar cal_end = Calendar.getInstance();
cal_start.setTime(date_start);
cal_end.setTime(date_end);
// System.out.println("5天前:"+getChineseWeek(cal_start)
// + " 日期-->" + cal_start.get(Calendar.YEAR) + "-"
// + (cal_start.get(Calendar.MONTH) + 1) + "-"
// + cal_start.get(Calendar.DAY_OF_MONTH));
// System.out.println("当前:"+getChineseWeek(cal_end) + " 日期-->"
// + cal_end.get(Calendar.YEAR) + "-"
// + (cal_end.get(Calendar.MONTH) + 1) + "-"
// + cal_end.get(Calendar.DAY_OF_MONTH));
// System.out.println("工作日为-->"
// + app.getWorkingDay(cal_start, cal_end));
int freeday = getHolidays(cal_start, cal_end);
LOG.info(sdf.format(date_start)+"到"+sdf.format(date_end)+"假日天数-->" + freeday);
if(0<freeday){//表示有休息日
calen = Calendar.getInstance();
//日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期
calen.setTime(date_start);
//将日历的"天"增加5
calen.add(Calendar.DAY_OF_YEAR,-freeday);
//获取日历对象的时间,并赋给日期对象c
date_start = calen.getTime();
LOG.info("减去假日天数"+freeday+"后日期为:-->" + sdf.format(date_start));
}
// System.out.println("5个工作日前:"+sdf.format(date_start));
// System.out.println("填写日期:"+ckdate);
//去除这个时间段里的法定结假日
List<Days> daysList = InitDate.curDaysList;//获得今年的法定假日数据
List<String> getHolidayStr = new ArrayList<String>();
for (Days days : daysList) {
getHolidayStr.add(days.getHoliday());
}
String holidaystr = Arrays.toString(getHolidayStr.toArray()).replace("[",
"").replace("]", "");//获得节假日字符串
List<String> strL = getBetweenDaysStr(sdf.format(date_start), sdf.format(date_end));//获得两个日期字符串里的日期
int count = 0;
for (String str : strL) {
if(holidaystr.indexOf(str) != -1){//表示找到
count ++;
}
}
if(0 < count){
calen = Calendar.getInstance();
//日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期
calen.setTime(date_start);
//将日历的"天"增加5
calen.add(Calendar.DAY_OF_YEAR,-count);
//获取日历对象的时间,并赋给日期对象c
date_start = calen.getTime();
LOG.info("减去法定假日天数"+count+"后日期为:-->" + sdf.format(date_start));
}
//判断日期
Date dt1 = sdf.parse(ckdate);//要验证的日期
Date dt2 = sdf.parse(sdf.format(date_start));
LOG.info(dt1.toLocaleString()+"<"+dt2.toLocaleString());
if (dt1.getTime() < dt2.getTime()) {
isgt = true;
// System.out.println("超过5天");
} /*else{
System.out.println("未超过5天");
}*/
return isgt;
} catch (Exception e) {
// TODO: handle exception
return false;
}
}
public static int getDaysBetween(java.util.Calendar d1,
java.util.Calendar d2) {
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int days = d2.get(java.util.Calendar.DAY_OF_YEAR)
- d1.get(java.util.Calendar.DAY_OF_YEAR);
int y2 = d2.get(java.util.Calendar.YEAR);
if (d1.get(java.util.Calendar.YEAR) != y2) {
d1 = (java.util.Calendar) d1.clone();
do {
days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);
d1.add(java.util.Calendar.YEAR, 1);
} while (d1.get(java.util.Calendar.YEAR) != y2);
}
return days;
}
/**
* 计算2个日期之间的相隔天数
*
* @param d1
* @param d2
* @return
*/
public static int getWorkingDay(java.util.Calendar d1, java.util.Calendar d2) {
int result = -1;
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int betweendays = getDaysBetween(d1, d2);
int charge_date = 0;
int charge_start_date = 0;// 开始日期的日期偏移量
int charge_end_date = 0;// 结束日期的日期偏移量
// 日期不在同一个日期内
int stmp;
int etmp;
stmp = 7 - d1.get(Calendar.DAY_OF_WEEK);
etmp = 7 - d2.get(Calendar.DAY_OF_WEEK);
if (stmp != 0 && stmp != 6) {// 开始日期为星期六和星期日时偏移量为0
charge_start_date = stmp - 1;
}
if (etmp != 0 && etmp != 6) {// 结束日期为星期六和星期日时偏移量为0
charge_end_date = etmp - 1;
}
// }
result = (getDaysBetween(getNextMonday(d1), getNextMonday(d2)) / 7) * 5
+ charge_start_date - charge_end_date;
// System.out.println("charge_start_date>" + charge_start_date);
// System.out.println("charge_end_date>" + charge_end_date);
// System.out.println("between day is-->" + betweendays);
return result;
}
public static String getChineseWeek(Calendar date) {
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
"星期六" };
int dayOfWeek = date.get(Calendar.DAY_OF_WEEK);
// System.out.println(dayNames[dayOfWeek - 1]);
return dayNames[dayOfWeek - 1];
}
/**
* 获得日期的下一个星期一的日期
*
* @param date
* @return
*/
public static Calendar getNextMonday(Calendar date) {
Calendar result = null;
result = date;
do {
result = (Calendar) result.clone();
result.add(Calendar.DATE, 1);
} while (result.get(Calendar.DAY_OF_WEEK) != 2);
return result;
}
/**
*
* @param d1
* @param d2
* @return
*/
public static int getHolidays(Calendar d1, Calendar d2) {
return getDaysBetween(d1, d2) - getWorkingDay(d1, d2);
}
/************************* 验证超过5个工作日 *****************************/
/**
* 添加天数
*
* @param d
* @param day
* @return
* @throws ParseException
*/
public static Date addDate(Date d, long day) throws ParseException {
long time = d.getTime();
day = day * 24 * 60 * 60 * 1000;
time += day;
return new Date(time);
}
/**
* 获得周几
*
* @param s
* @return
*/
public static String getWeekName(String s) {
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
"星期六" };
// String s = "2013-03-04 9:00:44";
SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Date date = new Date();
try {
date = sdfInput.parse(s);
} catch (Exception e) {
e.printStackTrace();
}
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (dayOfWeek < 0)
dayOfWeek = 0;
// System.out.println(dayNames[dayOfWeek]);
return dayNames[dayOfWeek];
}
public static String getChineseWeek(String strDateStart) {
try {
// String strDateStart = "2013-5-8";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// yyyy/MM/dd
// HH:mm:ss
Date date_start = sdf.parse(strDateStart);
Calendar cal_start = Calendar.getInstance();
cal_start.setTime(date_start);
String str = getChineseWeek(cal_start);
// System.out.println(str);
return str;
} catch (Exception e) {
return "";
}
}
/**
* 判断a是否大于b
*
* @param a
* @param b
* @return
*/
public static boolean pkdategt(String a, String b) {
boolean gt = false;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// yyyy/MM/dd
// HH:mm:ss
Date ad = sdf.parse(a);
Date bd = sdf.parse(b);
if (ad.after(bd)) {
gt = true;
}
} catch (Exception e) {
}
return gt;
}
/**
* 判断a是否大于b
*
* @param a
* @param b
* @return
*/
public static boolean pkdatelt(String a, String b) {
boolean gt = false;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// yyyy/MM/dd
// HH:mm:ss
Date ad = sdf.parse(a);
Date bd = sdf.parse(b);
if (ad.before(bd)) {
gt = true;
}
} catch (Exception e) {
}
return gt;
}
/*******获得两个日期字符串里的日期******/
public static GregorianCalendar[] getBetweenDate(String d1, String d2)
throws Exception {
Vector<GregorianCalendar> v = new Vector<GregorianCalendar>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
GregorianCalendar gc1 = new GregorianCalendar(), gc2 = new GregorianCalendar();
gc1.setTime(sdf.parse(d1));
gc2.setTime(sdf.parse(d2));
do {
GregorianCalendar gc3 = (GregorianCalendar) gc1.clone();
v.add(gc3);
gc1.add(Calendar.DAY_OF_MONTH, 1);
} while (!gc1.after(gc2));
return v.toArray(new GregorianCalendar[v.size()]);
}
public static List<String> getBetweenDaysStr(String d1, String d2) {
List<String> strL = new ArrayList<String>();
try {
GregorianCalendar[] ga = getBetweenDate(d1, d2);
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (GregorianCalendar e : ga) {
str = e.get(Calendar.YEAR) + "-" + (e.get(Calendar.MONTH) + 1)
+ "-" + e.get(Calendar.DAY_OF_MONTH);
str = sdf.format(sdf.parse(str));
// System.out.println(str);
strL.add(str);
}
} catch (Exception e) {
}
return strL;
}
}
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Vector;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.csidc.as.pojo.Days;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
/**
*
* 功能作用: 对外提供日期操作的相关方法
*
* @version: 1.0
* @create date: 2012-11-29
* @author: lili
* @remark:
*/
public class DateOperate {
private static final Log LOG = LogFactory.getLog(DateOperate.class);
private static Calendar now;
// public static void main(String[] args) throws Exception{
// String start = "2012-12-19 09:00:00";
// String end = "2012-12-20 17:00:10";
// //String date = getStartEndDate(start,end);
//
// long[] difday = DateOperate.getDistanceTimes(start,end);//返回值为:{天, 时, 分,
// 秒}
// String str = difday[0]+"天"+difday[1]+"时"+difday[2]+"分"+difday[3]+"秒";
// System.out.println(str);
// }
public static String getStartEndDate(String start, String end) {
String date = "0";
return date;
}
// 获得当前年
public static String getCurYear() {
now = Calendar.getInstance();
return now.get(Calendar.YEAR) + "";
}
// 获得当前月
public static String getCurMoth() {
now = Calendar.getInstance();
return (now.get(Calendar.MONTH) + 1) + "";
}
// 获得当前日期
public static String getCurDay() {
now = Calendar.getInstance();
return now.get(Calendar.DAY_OF_MONTH) + "";
}
// 获得当前日期
public static String getCurDate() {
Date d = new Date();
return dateToStr(d);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String dateNowStr = sdf.format(d);
// return dateNowStr;
}
/**
* 根据日期字符串获得时分秒字符串"2013-10-31 09:10:00";
* @param str
* @return
*/
public static String getHMS(String str){
try{
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf1.parse(str);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");//时:分:秒:毫秒
String s = sdf.format(d);
System.out.println();
return s;
}catch (Exception e) {
return "";
}
}
/**
* 将Date对象转换为yyyy-MM-dd HH:mm:ss字符串
*
* @param d
* @return
*/
public static String dateToStr(Date d) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateNowStr = sdf.format(d);
return dateNowStr;
}
/**
* 将yyyy-MM-dd HH:mm:ss字符串转换为Date对象
*
* @param d
* @return
*/
public static Date strToDate(String dstr) {
Date today = null;
try {
// String str = "2012-1-13 17:26:33"; //要跟上面sdf定义的格式一样
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
today = sdf.parse(dstr);
} catch (Exception e) {
today = new Date();
}
return today;
}
/**
* 获得当前时间毫秒数
*
* @return
*/
public static String getMillis() {
now = Calendar.getInstance();
return now.getTimeInMillis() + "";
}
/**
* 获得主键
*
* @return
*/
public static synchronized String getPk() {
String pk = getMillis() + generateCheckCode();
return pk;
}
/**
* 随机产生4个字符串
*
* @return
*/
public static String generateCheckCode() {
String chars = "0123456789";
char[] rands = new char[4];
for (int i = 0; i < 4; i++) {
int rand = (int) (Math.random() * 10);
rands[i] = chars.charAt(rand);
}
String tmp = new String(rands);
return tmp;
}
/**
* 两个时间相差距离多少天多少小时多少分多少秒
*
* @param str1
* 时间参数 1 格式:1990-01-01 12:00:00
* @param str2
* 时间参数 2 格式:2009-01-01 12:00:00
* @return long[] 返回值为:{天, 时, 分, 秒}
* @throws java.text.ParseException
*/
public static long[] getDistanceTimes(String str1, String str2)
throws java.text.ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date one;
Date two;
long day = 0;
long hour = 0;
long min = 0;
long sec = 0;
try {
one = df.parse(str1);
two = df.parse(str2);
long time1 = one.getTime();
long time2 = two.getTime();
long diff;
if (time1 < time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
day = diff / (24 * 60 * 60 * 1000);
hour = (diff / (60 * 60 * 1000) - day * 24);
min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
sec = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
} catch (ParseException e) {
e.printStackTrace();
}
long[] times = { day, hour, min, sec };
return times;
}
/************************* 验证超过5个工作日 *****************************/
public static void main(String[] args) {
// String ckdate = "2013-03-15 16:33:44";
// System.out.println(isgt5(ckdate));
try {
// String strDateStart = "2013-5-8";
// SimpleDateFormat sdf = new
// SimpleDateFormat("yyyy-MM-dd");//yyyy/MM/dd HH:mm:ss
//
// Date date_start = sdf.parse(strDateStart);
// Calendar cal_start = Calendar.getInstance();
// Calendar cal_end = Calendar.getInstance();
// cal_start.setTime(date_start);
// System.out.println(getChineseWeek(cal_start));
// System.out.println(">>>>>>>>");
// String date = "2013-5-8";
// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// Date d = df.parse(date);
// date = df.format(d);
// System.out.println(date);
/*
* //判断上周周数 Calendar now = Calendar.getInstance(); int nowweek =
* now.get(Calendar.WEEK_OF_YEAR); String years =
* now.get(Calendar.YEAR
* )+"-"+(now.get(Calendar.MONTH)+1)+"-"+now.get
* (Calendar.DAY_OF_MONTH); System.out.println(years+"周:"+nowweek);
* int lastWeek = nowweek -1; System.out.println("上周:"+lastWeek);
* String date = "2013-6-2"; DateFormat df = new
* SimpleDateFormat("yyyy-MM-dd"); Date d = df.parse(date); Calendar
* cal = Calendar.getInstance(); cal.setTime(d); int week =
* cal.get(Calendar.WEEK_OF_YEAR);
* System.out.println(date+"周:"+week);
*/
// String str = "08:20 08:21 17:12 17:33";
// String str = "08:55";
// String str = "09:10 16:59";
/*String str = "08:56 17:10";
if (null == str || "".equals(str)) {
} else {
String[] strs = str.split(" ");
String tmp = "";
boolean islate = true;// 默认迟到
boolean isearlyLeft = true;// 默认早退
// System.out.println("大小:"+strs.length);
for (int i = 0; i < strs.length; i++) {
tmp = strs[i];
// System.out.println(tmp+":"+compTime(tmp,"09:10"));//如果大于9:10就是迟到'
if (islate) {
if (compTime(tmp, "09:10", "lt")) {// 如果小于9:10,就不迟到
islate = false;
}
}
if (isearlyLeft) {
if (compTime(tmp, "17:00", "gt")) {// 如果大于17:00,就不早退
isearlyLeft = false;
}
}
}
System.out.println("上班:" + islate);
System.out.println("下班:" + isearlyLeft);
}
*/
List<String> dayStrL = getBetweenDaysStr("2013-09-22","2013-09-26");
String ckStr = "2013-09-26";
if(dayStrL.contains(ckStr)){
System.out.println("存在");
}else{
System.out.println("不存在");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static boolean compTime(String s1, String s2, String gtlt) {
if (s1.indexOf(":") < 0 || s1.indexOf(":") < 0) {
System.out.println("格式不正确");
} else {
String[] array1 = s1.split(":");
int total1 = Integer.valueOf(array1[0]) * 3600
+ Integer.valueOf(array1[1]) * 60
// + Integer.valueOf(array1[2]);
;
// System.out.println(total1);
String[] array2 = s2.split(":");
int total2 = Integer.valueOf(array2[0]) * 3600
+ Integer.valueOf(array2[1]) * 60;
// + Integer.valueOf(array2[2]);
// System.out.println(total2);
if ("gt".equalsIgnoreCase(gtlt)) {// 大于等于
return total1 - total2 >= 0 ? true : false;
} else if ("lt".equalsIgnoreCase(gtlt)) {
return total1 - total2 <= 0 ? true : false;
}
}
return false;
}
public static boolean isgt5(String ckdate){
try {
boolean isgt = false;
//String strDateStart = "2013-3-1";
// String strDateEnd = "2006-10-14";
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//yyyy/MM/dd HH:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//
// Date date_start = sdf.parse(strDateStart);
// Date date_end = sdf.parse(strDateEnd);
// Date date_end = new Date();
//新建一个日历对象。注意:类Calendar是抽象的要使用getInstance()实例化,或者实例化其子类
Calendar calen = Calendar.getInstance();
//日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期
// calen.setTime(date_end);
Date date_end = calen.getTime();
//将日历的"天"增加5
int num = 8;//默认5
try{
//获得配置文件里的天数
String filePath = Thread.currentThread().getContextClassLoader().getResource("")+"prop.properties";
LOG.info("获得当前线程路径:"+filePath);
filePath = filePath.substring(6);
LOG.info("获得路径:"+filePath);
String attTimeNum = PropertyEditor.readValue(filePath,"attTimeNum");
LOG.info("读取到考勤限制天数:"+attTimeNum);
num = Integer.parseInt(attTimeNum);
num += 3;//向前3天进行计算
}catch (Exception e) {
LOG.info("读取到考勤限制天数出错");
num = 8;//默认5
}
LOG.info("应减去天数:"+num);
calen.add(Calendar.DAY_OF_YEAR,-num);
//获取日历对象的时间,并赋给日期对象c
Date date_start = calen.getTime();
LOG.info(num+"天前:"+sdf.format(date_start));
LOG.info("结束时间:"+sdf.format(date_end));
// DateCal app = new DateCal();
Calendar cal_start = Calendar.getInstance();
Calendar cal_end = Calendar.getInstance();
cal_start.setTime(date_start);
cal_end.setTime(date_end);
// System.out.println("5天前:"+getChineseWeek(cal_start)
// + " 日期-->" + cal_start.get(Calendar.YEAR) + "-"
// + (cal_start.get(Calendar.MONTH) + 1) + "-"
// + cal_start.get(Calendar.DAY_OF_MONTH));
// System.out.println("当前:"+getChineseWeek(cal_end) + " 日期-->"
// + cal_end.get(Calendar.YEAR) + "-"
// + (cal_end.get(Calendar.MONTH) + 1) + "-"
// + cal_end.get(Calendar.DAY_OF_MONTH));
// System.out.println("工作日为-->"
// + app.getWorkingDay(cal_start, cal_end));
int freeday = getHolidays(cal_start, cal_end);
LOG.info(sdf.format(date_start)+"到"+sdf.format(date_end)+"假日天数-->" + freeday);
if(0<freeday){//表示有休息日
calen = Calendar.getInstance();
//日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期
calen.setTime(date_start);
//将日历的"天"增加5
calen.add(Calendar.DAY_OF_YEAR,-freeday);
//获取日历对象的时间,并赋给日期对象c
date_start = calen.getTime();
LOG.info("减去假日天数"+freeday+"后日期为:-->" + sdf.format(date_start));
}
// System.out.println("5个工作日前:"+sdf.format(date_start));
// System.out.println("填写日期:"+ckdate);
//去除这个时间段里的法定结假日
List<Days> daysList = InitDate.curDaysList;//获得今年的法定假日数据
List<String> getHolidayStr = new ArrayList<String>();
for (Days days : daysList) {
getHolidayStr.add(days.getHoliday());
}
String holidaystr = Arrays.toString(getHolidayStr.toArray()).replace("[",
"").replace("]", "");//获得节假日字符串
List<String> strL = getBetweenDaysStr(sdf.format(date_start), sdf.format(date_end));//获得两个日期字符串里的日期
int count = 0;
for (String str : strL) {
if(holidaystr.indexOf(str) != -1){//表示找到
count ++;
}
}
if(0 < count){
calen = Calendar.getInstance();
//日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期
calen.setTime(date_start);
//将日历的"天"增加5
calen.add(Calendar.DAY_OF_YEAR,-count);
//获取日历对象的时间,并赋给日期对象c
date_start = calen.getTime();
LOG.info("减去法定假日天数"+count+"后日期为:-->" + sdf.format(date_start));
}
//判断日期
Date dt1 = sdf.parse(ckdate);//要验证的日期
Date dt2 = sdf.parse(sdf.format(date_start));
LOG.info(dt1.toLocaleString()+"<"+dt2.toLocaleString());
if (dt1.getTime() < dt2.getTime()) {
isgt = true;
// System.out.println("超过5天");
} /*else{
System.out.println("未超过5天");
}*/
return isgt;
} catch (Exception e) {
// TODO: handle exception
return false;
}
}
public static int getDaysBetween(java.util.Calendar d1,
java.util.Calendar d2) {
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int days = d2.get(java.util.Calendar.DAY_OF_YEAR)
- d1.get(java.util.Calendar.DAY_OF_YEAR);
int y2 = d2.get(java.util.Calendar.YEAR);
if (d1.get(java.util.Calendar.YEAR) != y2) {
d1 = (java.util.Calendar) d1.clone();
do {
days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);
d1.add(java.util.Calendar.YEAR, 1);
} while (d1.get(java.util.Calendar.YEAR) != y2);
}
return days;
}
/**
* 计算2个日期之间的相隔天数
*
* @param d1
* @param d2
* @return
*/
public static int getWorkingDay(java.util.Calendar d1, java.util.Calendar d2) {
int result = -1;
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int betweendays = getDaysBetween(d1, d2);
int charge_date = 0;
int charge_start_date = 0;// 开始日期的日期偏移量
int charge_end_date = 0;// 结束日期的日期偏移量
// 日期不在同一个日期内
int stmp;
int etmp;
stmp = 7 - d1.get(Calendar.DAY_OF_WEEK);
etmp = 7 - d2.get(Calendar.DAY_OF_WEEK);
if (stmp != 0 && stmp != 6) {// 开始日期为星期六和星期日时偏移量为0
charge_start_date = stmp - 1;
}
if (etmp != 0 && etmp != 6) {// 结束日期为星期六和星期日时偏移量为0
charge_end_date = etmp - 1;
}
// }
result = (getDaysBetween(getNextMonday(d1), getNextMonday(d2)) / 7) * 5
+ charge_start_date - charge_end_date;
// System.out.println("charge_start_date>" + charge_start_date);
// System.out.println("charge_end_date>" + charge_end_date);
// System.out.println("between day is-->" + betweendays);
return result;
}
public static String getChineseWeek(Calendar date) {
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
"星期六" };
int dayOfWeek = date.get(Calendar.DAY_OF_WEEK);
// System.out.println(dayNames[dayOfWeek - 1]);
return dayNames[dayOfWeek - 1];
}
/**
* 获得日期的下一个星期一的日期
*
* @param date
* @return
*/
public static Calendar getNextMonday(Calendar date) {
Calendar result = null;
result = date;
do {
result = (Calendar) result.clone();
result.add(Calendar.DATE, 1);
} while (result.get(Calendar.DAY_OF_WEEK) != 2);
return result;
}
/**
*
* @param d1
* @param d2
* @return
*/
public static int getHolidays(Calendar d1, Calendar d2) {
return getDaysBetween(d1, d2) - getWorkingDay(d1, d2);
}
/************************* 验证超过5个工作日 *****************************/
/**
* 添加天数
*
* @param d
* @param day
* @return
* @throws ParseException
*/
public static Date addDate(Date d, long day) throws ParseException {
long time = d.getTime();
day = day * 24 * 60 * 60 * 1000;
time += day;
return new Date(time);
}
/**
* 获得周几
*
* @param s
* @return
*/
public static String getWeekName(String s) {
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
"星期六" };
// String s = "2013-03-04 9:00:44";
SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Date date = new Date();
try {
date = sdfInput.parse(s);
} catch (Exception e) {
e.printStackTrace();
}
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (dayOfWeek < 0)
dayOfWeek = 0;
// System.out.println(dayNames[dayOfWeek]);
return dayNames[dayOfWeek];
}
public static String getChineseWeek(String strDateStart) {
try {
// String strDateStart = "2013-5-8";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// yyyy/MM/dd
// HH:mm:ss
Date date_start = sdf.parse(strDateStart);
Calendar cal_start = Calendar.getInstance();
cal_start.setTime(date_start);
String str = getChineseWeek(cal_start);
// System.out.println(str);
return str;
} catch (Exception e) {
return "";
}
}
/**
* 判断a是否大于b
*
* @param a
* @param b
* @return
*/
public static boolean pkdategt(String a, String b) {
boolean gt = false;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// yyyy/MM/dd
// HH:mm:ss
Date ad = sdf.parse(a);
Date bd = sdf.parse(b);
if (ad.after(bd)) {
gt = true;
}
} catch (Exception e) {
}
return gt;
}
/**
* 判断a是否大于b
*
* @param a
* @param b
* @return
*/
public static boolean pkdatelt(String a, String b) {
boolean gt = false;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// yyyy/MM/dd
// HH:mm:ss
Date ad = sdf.parse(a);
Date bd = sdf.parse(b);
if (ad.before(bd)) {
gt = true;
}
} catch (Exception e) {
}
return gt;
}
/*******获得两个日期字符串里的日期******/
public static GregorianCalendar[] getBetweenDate(String d1, String d2)
throws Exception {
Vector<GregorianCalendar> v = new Vector<GregorianCalendar>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
GregorianCalendar gc1 = new GregorianCalendar(), gc2 = new GregorianCalendar();
gc1.setTime(sdf.parse(d1));
gc2.setTime(sdf.parse(d2));
do {
GregorianCalendar gc3 = (GregorianCalendar) gc1.clone();
v.add(gc3);
gc1.add(Calendar.DAY_OF_MONTH, 1);
} while (!gc1.after(gc2));
return v.toArray(new GregorianCalendar[v.size()]);
}
public static List<String> getBetweenDaysStr(String d1, String d2) {
List<String> strL = new ArrayList<String>();
try {
GregorianCalendar[] ga = getBetweenDate(d1, d2);
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (GregorianCalendar e : ga) {
str = e.get(Calendar.YEAR) + "-" + (e.get(Calendar.MONTH) + 1)
+ "-" + e.get(Calendar.DAY_OF_MONTH);
str = sdf.format(sdf.parse(str));
// System.out.println(str);
strL.add(str);
}
} catch (Exception e) {
}
return strL;
}
}
- DateOperate.zip (5.4 KB)
- 下载次数: 13
相关推荐
7.两个时间相差距离多少天多少小时多少分多少秒 8.按默认格式的字符串距离今天的天数 9.比较两个时间的大小 HH:mm:ss 10.按用户格式字符串距离今天的天数 11.cron "0 06 10 15 1 ? 2014" 专门用于处理...
Java日期工具类 1、日期的各种格式化 2、获取当前年度 3、获取当前月份 4、获取当前天号数 5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、...
这个工具类是计算两个时间相差多少天的工具类以及格式化时间
各种日期格式,时间戳,时间计算的相互转换。直接引入工程中,可使用
在这个类中,可能包含了各种方法来计算两个`java.util.Date`对象之间的时间差,包括年、月、日、时、分和秒。以下是一些关于如何在Java中处理此类问题的知识点: 1. **日期和时间类**:在Java中,`java.util.Date` ...
网上排除节假日、周六周日 获取相差时间 分为四种情况, 精确到天 此工具类在此基础之上进行优化, 分为俩种情况, 精确到分钟,保留俩位小数 (精确到秒 需自己加工下) 入口方法: getWorkHours
在Android开发中,有时我们需要计算两个日期之间的差值,例如计算两个生日之间相差多少天,或者确定一个事件距离现在还有多少天。这个任务可以通过编程实现,本文将详细讲解如何在Android环境中获取两个日期相差的...
5. 时间间隔:计算两个日期之间的差值,如相差的天数、小时数等。 6. 日期范围:检查日期是否在指定的日期范围内。 对于`JavaDateUtil.java`的具体实现,由于没有给出详细代码,我们无法深入探讨。但可以肯定的是,...
日期格式转字符串格式,日期加上天数,新日期,两个时间相差距离多少天
6. **时间间隔和周期操作**:可能包含计算两个日期之间相差的天数、小时数或其他时间单位的方法,以及创建定期重复任务(如每小时执行一次)的辅助函数。 7. **时区处理**:考虑到全球时间的复杂性,DateUtil可能有...
获取SimpleDateFormat 获取日期中的某数值。如获取月份 增加日期中某类型的某数值。如增加日期 获取精确的日期 判断字符串是否为日期字符串 ...两个时间相差距离中文描述 。 比较两个时间的大小。
在Java编程语言中,工具类(Utils)是程序员经常使用的辅助类库,它们提供了一些静态方法,用于执行常见的任务,如字符串操作、集合处理、日期时间处理等。这些类简化了代码并提高了效率,因为它们封装了复杂的功能...
非常好用的Date工具类 1、计算两个日期之间相差的天数 2、判断日期是否为周六日 3、获取当前周开始日期 4、获取当前周结束日期 5、判断年份是否是闰年 6、根据年份和月份计算天数 7、判断日期为该年的第几周 等等
`java.util.Date`是早期Java版本中用于日期和时间操作的类,但它并不包含时区信息。在Java 8及更高版本中,`java.time`包被引入,提供了更强大和易于使用的API,如`LocalDateTime`, `ZonedDateTime`, 和 `ZoneId`等...
各种日期格式化和转换 将 Calendar 转为字符串 获取当前月份的最后一天 根据 timestamp 生成各类时间状态串 计算两个日期之间相差的天数 等等等等
首先,代码创建了一个`SimpleDateFormat`实例,指定了“`yyyy-MM-dd HH:mm:ss`”的日期格式,这是标准的日期时间格式,包括了年、月、日、时、分、秒。通过调用`format()`方法,可以将当前系统时间(通过`new Date()...
主要内容包括使用`java.util.Date`类、`java.text.DateFormat`类、`java.text.SimpleDateFormat`类以及`java.util.Calendar`类来实现日期时间的获取、格式化、解析和计算。 ### java.util.Date类 `java.util.Date`...
要获取两个日期的时间差,我们需要使用Java中的日期和时间相关类,包括`Date`、`Calendar`、`SimpleDateFormat`等。 首先,我们需要获取两个日期对象,使用`SimpleDateFormat`将字符串格式的日期转换为`Date`对象。...
14个常用的日期方法。1.获取当前时间,2.,获取当前系统时间字符串,3.自定义取值,Date类型转为String类型,4.自定义取值,String转换为Date,5....计算两个日期之间相差的天数 ,14.字符串的日期格式的计算