java中经常使用的日期格式化(全)「建议收藏」

java中经常使用的日期格式化(全)

大家好,又见面了,我是全栈君。

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 获取当前的日期格式为:yyyy-MM-dd HH:mm:ss * * @author Arthur(user_006) * @version 1.0.0 2010/04/24 14:00(星期六) */ public class TimerUtil { /** * 获取当前的日期 , 默认格式 * * @return 当前的日期 */ public synchronized static Date getCurrentCalendar() { Calendar calendar = Calendar.getInstance(); return calendar.getTime(); } /** * 获取当前日期 , 格式yyyy-MM-dd , 如: 2010-04-24 * * @return */ public synchronized static String getCurrentDate() { Calendar calendar = Calendar.getInstance(); StringBuffer sb = new StringBuffer(); sb.append(calendar.get(Calendar.YEAR)).append("-"); sb.append(calendar.get(Calendar.MONTH) + 1).append("-"); sb.append(calendar.get(Calendar.DAY_OF_MONTH)); return sb.toString(); } /** * 把字符形式的日期转换成Date类型 , 格式yyyy-MM-DD * * @param date * 日期的字符串形式 * * @return Data类型的日期 */ public synchronized static Date convertToDate(String date) { DateFormat format = new SimpleDateFormat("yyyy-MM-DD"); try { return format.parse(date); } catch (ParseException e) { e.printStackTrace(); } return null; } /** * 把日期转换为指定的格式 * * @param date * 要转换的日期 * @param pattern * 转换的格式 * @return */ public synchronized static Date format(Date date, String pattern) { if (pattern != null && pattern.trim().length() > 0) { DateFormat format = new SimpleDateFormat(pattern); String stringDate = format.format(date); return TimerUtil.convertToDate(stringDate); } return null; } /** * 将日期转换为字符串 , 格式yyyy-MM-dd HH:mm:ss * * @param date * 要转换的日期 * @return */ public synchronized static String convertToString(Date date) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(date); } /** * 将日期转换为字符串 , 格式yyyy-MM-dd HH:mm:ss * * @param date * 要转换的日期 * @return */ public synchronized static String convertToStrShort(Date date) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); return format.format(date); } /** * 将日期转换为字符串 , 格式yyyyMMddHHmmss * * @param date * 要转换的日期 * @return */ public synchronized static String convertToString2(Date date) { DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); return format.format(date); } /** * 将日期转换为指定格式的字符串 * * @param date * 要转换的日期 * @param formatText * 转换的格式 * @return */ public synchronized static String convertToString(Date date, String formatText) { DateFormat format = new SimpleDateFormat(formatText); Calendar calendar = Calendar.getInstance(); StringBuffer sb = new StringBuffer(); sb.append(calendar.get(Calendar.YEAR)).append("-"); sb.append(calendar.get(Calendar.MONTH) + 1).append("-"); sb.append(calendar.get(Calendar.DAY_OF_MONTH)); return format.format(date); } /** * 获取本周一的日期 * * @return */ public synchronized static Date getMondayOFWeek() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);// 这里设置从周一開始,若须要依据系统时区自己主动获取,则採用下边的方式 return calendar.getTime(); } /** * 获取本周日日期 * * @return */ public synchronized static Date getCurrentWeekday() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, getCurrentPlus());// 把当前日期的DATE加上当前日期与本周日之间相差的天数 return calendar.getTime(); } /** * 获取上周日的日期 * * @return */ public synchronized static Date getPreviousWeekday() { Calendar calendar = Calendar.getInstance(); // calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY+7); calendar.add(Calendar.DATE, getCurrentPlus() - 7);// 把当前日期的DATE加上当前日期与本周日之间相差的天数 return calendar.getTime(); } /** * 获取上周日的日期 * * @return */ public synchronized static Date getPreviousMonday() { Calendar calendar = Calendar.getInstance(); // calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY+7); calendar.add(Calendar.DATE, getCurrentPlus() - 13);// 把当前日期的DATE加上当前日期与本周日之间相差的天数 return calendar.getTime(); } /** * 获取上周日的日期 * * @return */ public synchronized static Date getNextWeekday() { Calendar calendar = Calendar.getInstance(); // calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY+7); calendar.add(Calendar.DATE, getCurrentPlus() + 1 + 6);// 把当前日期的DATE加上当前日期与本周日之间相差的天数 return calendar.getTime(); } /** * 获取上周日的日期 * * @return */ public synchronized static Date getNextMonday() { Calendar calendar = Calendar.getInstance(); // calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY+7); calendar.add(Calendar.DATE, getCurrentPlus() + 1);// 把当前日期的DATE加上当前日期与本周日之间相差的天数 return calendar.getTime(); } /** * 获取当前日期与本周周日之间相差的天数 * * @return */ public synchronized static int getCurrentPlus() { Calendar calendar = Calendar.getInstance(); int days = calendar.get(Calendar.DAY_OF_WEEK) - 1;// 在中国是已星期一作为一周的第一天,所以这里减1 return 7 - days; } public synchronized static int getCurrentYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.YEAR); } /** * 返回指定日期的当月第一天 * * @param date * @return */ @SuppressWarnings("static-access") public synchronized static Date getFirstDayInMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.DATE, 1); return calendar.getTime(); } /** * 返回指定日期的当月最后一天 * * @param date * @return */ @SuppressWarnings("static-access") public synchronized static Date getLastDayInMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(calendar.MONTH, 1); calendar.set(calendar.DATE, 1); calendar.add(calendar.DATE, -1); return calendar.getTime(); } /* * 计算两个日期之间的天数 */ public static int getDaysBetween(Calendar d1, Calendar d2) { if (d1.after(d2)) { java.util.Calendar swap = d1; d1 = d2; d2 = swap; } int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); int y2 = d2.get(Calendar.YEAR); if (d1.get(Calendar.YEAR) != y2) { d1 = (Calendar) d1.clone(); do { days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);// 得到当年的实际天数 d1.add(Calendar.YEAR, 1); } while (d1.get(Calendar.YEAR) != y2); } return days; } /* * 计算两个日期之间的时间 */ public static String getGapTime(Date createTime) { // TODO Auto-generated method stub Calendar d2 = Calendar.getInstance(); Calendar d1 = Calendar.getInstance(); d1.setTime(createTime); int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); if (days < 1) { int hour = d2.get(Calendar.HOUR_OF_DAY) - d1.get(Calendar.HOUR_OF_DAY); if (hour < 1) { int munites = d2.get(Calendar.MINUTE) - d1.get(Calendar.MINUTE); if (munites == 0) { return "刚刚"; } else { return munites + "分钟前"; } } else { return hour + "小时前"; } } else { return days + "天前"; } } //加天数 public static String addDays(int day){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, day); StringBuffer sb = new StringBuffer(); sb.append(calendar.get(Calendar.YEAR)).append("-"); sb.append(calendar.get(Calendar.MONTH) + 1).append("-"); sb.append(calendar.get(Calendar.DAY_OF_MONTH)); return sb.toString(); } //加年份 public static String addYears(String now, int year) throws ParseException{ Calendar fromCal=Calendar.getInstance(); DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd"); Date date=dateFormat.parse(now); fromCal.setTime(date); fromCal.add(Calendar.YEAR, year); return dateFormat.format(fromCal.getTime()); } //加天数(特定时间) public static String addDate(String now, int day) throws ParseException{ Calendar fromCal=Calendar.getInstance(); DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd"); Date date=dateFormat.parse(now); fromCal.setTime(date); fromCal.add(Calendar.DATE, day); return dateFormat.format(fromCal.getTime()); } /** * 格多少时间 * @throws ParseException */ @SuppressWarnings("deprecation") public static void main(String[] args) throws ParseException { System.out.println(TimerUtil.addYears("2008-12-01",7)); } /*public static void main(String[] args) { String createDate = "2008-12-01"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); try { Date date = sdf.parse(createDate); Calendar cl = Calendar.getInstance(); cl.setTime(date); cl.add(Calendar.DATE,31); String temp = ""; temp = sdf.format(cl.getTime()); System.out.println(temp); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } }*/ }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115600.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Mac连接不上无线网络的解决方法「建议收藏」

    Mac连接不上无线网络的解决方法「建议收藏」Mac电脑突然连不上WiFi了怎么办?小编使用了这么久的Mac,这种情况也是出现过很多次的,这个问题如果不是因为苹果无线网硬件出现了故障,基本都能通过排除法来解决问题,主要解决思路是从路由器过热造成网络阻塞,IP地址冲突、系统bug导致等这些方面入手,下面小编给大家介绍一下详细的解决方法,需要的小伙伴看过来!第一步、重启Mac无线网卡点击桌面顶部无线网络图标,下拉菜单中点击“关闭Wi-Fi”,然后再使用同样方法,下拉菜当中点击“Wi-Fi:打开”,重新启动无线网卡。第二步、重启路由器过长时间开着路

  • 传感器尺寸、像素、DPI分辨率、英寸、毫米的关系

    传感器尺寸、像素、DPI分辨率、英寸、毫米的关系虽然网上有很多这种资料,但是太过于复杂,每个人的说法都不一样,看的让人云里雾里的,我总结了一下,不知道对不对!1.1英寸=25.4mm2.传感器尺寸:传感器的尺寸是指传感器的大小,一般描述大小有两种形式,以IMX386感光元件为例,其传感器尺寸1/2.9英寸,是指传感器对角线为1/2.9英寸;还可以描述成传感器尺寸4.97mm×6.2mm,是指水平(竖直)长(宽)为4.97(6.2)m…

  • windows通过ssh登陆linux服务器(linux 终端快捷键)

    windows通过ssh登陆linux服务器(linux 终端快捷键)window通过ssh连接linux1.window上要安装ssh   下载连接:https://www.mls-software.com/opensshd.html   版本:OpenSSH7.9p1-1   下载好后安装2.linux上启动ssh服务   有些可能没有ssh服务,需要下载安装   2.1检查是否有ssh服务:   判断是否安装ssh服务,可以通过如…

  • bwapp详细教程_APP总结报告怎么做

    bwapp详细教程_APP总结报告怎么做bWAPP玩法总结2018-08-082018-08-0815:12:43阅读16K0bWAPP(buggywebApplication)是一个集成了了常见漏洞的web应用程序,目的是作为漏洞测试的演练场(靶机),为web安全爱好者和开发人员提供一个测试平台,与webgoat、dvwa类似。环境搭建bWAPP有两种安装方式,可以单独安装,部署到apache+php+mysql的环境;也可以安装虚拟机版本bee-box,区别在于虚拟机版本能够测试的漏洞更多,比如破壳漏洞

  • 超级搜索术

    超级搜索术WeixinSogouSearchZhihuSogouSearch

  • 解决IE8下opacity属性失效问题[通俗易懂]

    解决IE8下opacity属性失效问题[通俗易懂]解决IE8下opacity属性失效问题

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号