IT辅导娱乐网| 蜘蛛地图| 所有文章|
Java实现时间转换的工具类,源码奉上 - IT辅导
  • 首页
  • IT技术 IT辅导资源网设计图
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享 IT辅导资源网设计图
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧 IT辅导资源网设计图
    • seo教程
  • 编程教程
  • 值得看一看 IT辅导资源网设计图
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能 IT辅导资源网设计图
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿


登录后,享受更多优质服务哦
IT辅导资源网站长qq头像
欢迎回来,可爱的会员!个人中心退出登录
导航菜单
  • 首页
  • IT技术
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧
    • seo教程
  • 编程教程
  • 值得看一看
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿

Java实现时间转换的工具类,源码奉上

2020/9/8 五年级扛把子 

java日期时间工具类比较常用,也比较基础,源码如下,希望对你有所帮助:

package com.cn.itcdns.util;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DateUtil {

/**
* yyyy年MM月dd日
*/
public static final String FormatDayToChinaTime24H = "yyyy年MM月dd日";
/**
* yyyy-MM-dd HH:mm:ss
*/
public static String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* yyyy-MM-dd
*/
public static String DATE_FORMAT = "yyyy-MM-dd";
/**
* yyyyMMdd
*/
public static String DATE_FORMAT1 = "yyyyMMdd";
/**
* HH:mm:ss
*/
public static String TIME_FORMAT = "HH:mm:ss";
/**
* yyyyMMddHHmmss
*/
public static String DATETIME_FORMAT2 = "yyyyMMddHHmmss";

/**
* 返回年份
*
* @param date
* 日期
* @return 返回年份
*/
public static int getYear(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.YEAR);
}

/**
* 返回月份
*
* @param date
* 日期
* @return 返回月份
*/
public static int getMonth(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.MONTH) + 1;
}

/**
* 返回日份
*
* @param date
* 日期
* @return 返回日份
*/
public static int getDay(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.DAY_OF_MONTH);
}

/**
* Parse date like "yyyy-MM-dd".
*/
public static Date parseDate(String d) {
try {
return new SimpleDateFormat(DATE_FORMAT).parse(d);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Parse date like "yyyyMMdd".
*/
public static Date parseDate1(String d) {
try {
return new SimpleDateFormat(DATE_FORMAT1).parse(d);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Parse date like "yyyy-MM-dd HH:mm:ss".
*/
public static Date parseDateTime(String d) {
try {
return new SimpleDateFormat(DATETIME_FORMAT).parse(d);
} catch (Exception e) {
}
return null;
}
/**
* Parse date like "yyyyMMddHHmmss".
*/
public static Date parseDateTime2(String d) {
try {
return new SimpleDateFormat(DATETIME_FORMAT2).parse(d);
} catch (Exception e) {
}
return null;
}

/**
* Parse date like "HH:mm:ss".
*/
public static Date parseTime(String d) {
try {
return new SimpleDateFormat(TIME_FORMAT).parse(d);
} catch (Exception e) {
}
return null;
}

/**
* 取得指定月份的最后一天
*
* @param strdate
* String
* @return String
*/
public String getMonthEnd(String strdate) {
Date date = parseDate(getMonthBegin(strdate));
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 1);
calendar.add(Calendar.DAY_OF_YEAR, -1);
return formatDate(calendar.getTime());
}

/**
* 取得指定月份的第一天
*
* @param strdate
* String
* @return String
*/
public String getMonthBegin(String strdate) {
Date date = parseDate(strdate);
return formatDateByFormat(date, "yyyy-MM") + "-01";
}

/**
* 以指定的格式来格式化日期
*
* @param date
* Date
* @param format
* String
* @return String
*/
public static String formatDateByFormat(Date date, String format) {
String result = "";
if (date != null) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
result = sdf.format(date);
} catch (Exception ex) {
ex.printStackTrace();
}
}
return result;
}

/**
* 常用的格式化日期
* 默认格式yyyy-MM-dd
* @param date
* Date
* @return String
*/
public static String formatDate(Date date) {
return formatDateByFormat(date, "yyyy-MM-dd");
}

/**
* @根据当前日期计算n天后的日期
* @return String
*/
public static Date afterNDay(Date date, int n) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.DATE, n);
Date destDay = c.getTime();
return destDay;
}

/**
* 两个日期间的天数
*/
public static int getIntervalDays(Date startday, Date endday) {
if (startday.after(endday)) {
Date cal = startday;
startday = endday;
endday = cal;
}
long sl = startday.getTime();
long el = endday.getTime();
long ei = el - sl;
return (int) (ei / (1000 * 60 * 60 * 24));
}

public static boolean verifyDate(String birthday){
String [] array = birthday.split("-");
if(null == array || array.length != 3 || array[0].length() !=4 || array[1].length() != 2 || array[2].length() != 2)
return false;
int curyear = DateUtil.getYear(new Date());
try {
int studyear = Integer.parseInt(array[0]);
if(studyear <= 1900 || studyear > curyear)
return false;
String curDateStr = formatDateByFormat(new Date(), DATE_FORMAT);
if(birthday.compareTo(curDateStr) >= 0)
return false;
return checkDate(birthday);
} catch (NumberFormatException e) {
return false;
}
}

private static boolean checkDate(String date) {
// System.out.println(date);
// 判断年月日的正则表达式,接受输入格式为2010-12-24,可接受平年闰年的日期
String regex = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2} |[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]| 11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2}) (0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00)) -02-29)";
Pattern pattern = Pattern.compile(regex);
Matcher matcherObj = pattern.matcher(date);
return matcherObj.matches();
}

public static Date addMonths(Date date, int amount) {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
sdf.setLenient(false);
String ymd=sdf.format(date);
final Calendar calendar = new GregorianCalendar();
calendar.setLenient(false);
calendar.set(Integer.parseInt(ymd.substring(0, 4)),
Integer.parseInt(ymd.substring(4, 6)),
Integer.parseInt(ymd.substring(6)));
calendar.add(Calendar.MONTH, amount);
String newDate1=sdf.format(calendar.getTime()) ;
Date newDate2=parseDate1(newDate1);
return newDate2;
}

public static String stringToday() { return stringToday(null); }

public static String stringToday(String separator) {
String separatorValue = StringUtils.trimToEmpty(separator);
Calendar calendar = Calendar.getInstance();

return DateFormatUtils.format(calendar, "yyyy-MM-dd".replace("-", separatorValue));
}

}



 点赞:0  打赏  分享  海报

  • 打赏支付宝扫一扫
  • 打赏微信扫一扫
  • 打赏企鹅扫一扫
结束语
温馨提醒:如有技术问题以及资源失效请联系站长 QQ89549822 进行反馈!!!
 您阅读本文耗时: 0小时02分35秒
热度:312° 发布时间:2020年9月8日

推荐:

标题:Java实现时间转换的工具类,源码奉上

链接: https://www.itfd.cn/post-1272.html

版权:转载请注明来源于【IT辅导娱乐网】为原创

上一篇: 常用正则表达式总结

下一篇: 什么是OOM?为什么会出现OOM?

作者头像 作者名称 作者性别
五年级扛把子
联系作者 作者主页

热门推荐

1 什么是内部类?Static Nested Class 和 Inner Class 的不同
2 HTML字符集简介
3 Java Map集合遍历
4 电脑新手先要掌握哪些基础知识才行it辅导
5 JAVA运算符合集
6 it,每年的这个季节最烦躁了,天天下雨,天天下雨。

评论列表

取消回复

  • 存档

    • 2020年9月(191)
    • 2020年8月(92)
    • 2020年7月(5)
    • 2020年6月(224)
    • 2020年5月(392)
    • 2020年4月(267)
    • 2020年3月(76)
    • 2019年3月(1)
    • 1970年1月(29)
  • 搜索

  • 热门文章

    • 神佑之路手游源码-附视频教程
    • 最新可用老王VPN2.22.15谷歌市场版,免费使用
    • 私藏的十个网站,不看后悔系列
    • 虚拟商品自动发货商城源码
    • 不吃苦、不奋斗,你要青春做什么?
  • 随机文章

      • 我们都希望别人过得好,但是千万别过得比我好
        • 某宝花钱买的某巴克技术教学
          • 微视签到可白嫖13天豪华绿钻
            • 2000多张4K超清跑车壁纸
              • 2020最新版微交易区块链币圈源码带后台版本
    提示信息

    SQL语句执行错误: SELECT COUNT(*) AS total FROM emlog_twitter
    Table 'itfd.emlog_twitter' doesn't exist

    «点击返回