技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

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(); } }*/ }... 全文

java java日期格式化

java提高篇(四)

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。       抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。... 全文

java java提高篇 抽象类 接口

java项目打包成exe文件

前言:我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。其实将java程序打包成exe也需要这个可执行jar文件。准备:eclipse、exe4j(网上有软件和帐号下载)第一步,将java项目打包成可执行jar文件,首先看一下我的java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库开始打包,Simulate(Java项目)-鼠标右键-Export弹出窗口,选择“JAR file”,点击“Next”... 全文

配置文件 java项目 二进制 java程序

选择正确的Java批处理实现的10个关键点

您可能已经知道,JSR-352是一个Java批处理的标准。该标准在今年发布,并被包含在了JEE7之中,这意味着,所有的JEE7应用服务器都会有批处理的能力。正如我在上一篇文章中指出,即使您的应用服务器是固定的,但是您依旧可以选择JSR-352的实现。... 全文

Java批处理 Java

FireFox已将高危Java Update 7插件加入黑名单

Mozilla周四宣布,由于在FireFox的Java 7 update 7插件中发现了一个新的漏洞,因此已将其加入阻止列表(block list)。该安全漏洞可能允许攻击者危害用户的系统,而且当前已被人拿来利用。Mozilla称该缺陷为"严重风险",因此采取措施以保护它的用户。Update 6和更低版本的Java插件也由于其它缺陷,早已被加入黑名单,而现在Update 7也被加了进来。... 全文

FireFox Java Java插件

java.lang.ClassCastException(java强制类型转换异常)

ClassCastException,从字面意思上看,是类型转换异常,通常是进行强制类型转换时出的错误。下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法:这种异常是如何产生的呢?举一个比较形象的例子。Animal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类,看下面的代码:... 全文

异常 java

甲骨文为Java补丁更新重新编号

甲骨文称,考虑到零日漏洞补丁的增加,所以有必要重新编号。甲骨文改变了Java安全更新的号码排列。如一位专家所言:“好像Java更新还不够复杂一样。”上周Oracle 支持文档就发布了这次的改变通知。... 全文

Java安全 Java补丁更新 甲骨文

学习Java有哪些重点?

Java的学习是比较复杂的,不过对于刚开始学习Java的人来说,基础才是最重要的,,从初学者的角度来说那些才是重点?下面就说说我的看法,当然也许和你不一样的,这只是个人的观点。掌握静态方法和属性... 全文

软件工程 学习Java 初学者 java编程

提升你的Java应用性能:改善数据处理

许多应用程序在压力测试阶段或在生产环境中都会遇到性能问题。如果我们看一下性能问题背后的原因,会发现很多是由数据处理不当造成。数据处理在应用面对大数据量时是非常关键的。这里有一些实用的数据处理技巧可以帮助更好地提升Java应用程序性能。减少数据传输在任何Java应用程序中,方法调用要么是为调用方完成某项任务,要么是对输入数据进行处理。这两个目标都需要在调用者和处理方法之间进行数据交换。关于最小化函数传入和输出的数据量有一个经验之谈:数据越小好处越多。比如越小的数据处理就越少,需要清理的对象越少,内存的占用也更少等等。程序设计应当努力减少不同方法、层次和应用程序之间,甚至组织之间的数据传递。通过下面将要讨论的源端数据处理可以达成这个目标。... 全文

java性能处理 java数据处理

甲骨文升级Java 专家称Bug问题依旧

据路透社报道,由于出现致命安全漏洞,甲骨文公司上周日紧急升级了Java软件,但安全专家表示,升级无法保护PC免受恶意黑客的网络犯罪攻击行为。上周六,美国国土安全部发布警告,由于Java存在可盗取身份和银行帐号等犯罪行为的漏洞,因此它敦促PC用户关闭Java。过了一天开发商甲骨文就发布了升级。但波兰公司安全探索研究员亚当•迪亚克(Adam Gowdiak)表示,甲骨文的升级仍未修复几个关键的安全漏洞。... 全文

Java7 Java Bug 甲骨文

甲骨文公布了Java SE 7u11更新

在宣布修正Java严重0day漏洞的消息发出一天后,甲骨文公布了Java SE 7u11更新,它包含了安全漏洞CVE-2013-0422的补丁,同时也改变了默认的Java安全级别设置,任何未签名的Java Applet或Java Web Start应用程序运行时总是会被提示,这样可以防止恶意应用被下载,对用户来说这可能会带来的影响是需要多确认一下。... 全文

Java Java SE Update11

Java 8新特性探究(5):重复注解

 什么是重复注解允许在同一申明类型(类,属性,或方法)的多次使用同一个注解一个简单的例子java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的代码:... 全文

Java8 Java8教程

Java Map遍历方式的选择(1)

1. 阐述对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?为了解遍历性能的真实差距,包括在遍历key+value、遍历key、遍历value等不同场景下的差异,我试着进行了一些对比测试。2. 对比测试... 全文

Java Map 遍历法 Java

Java8使用Map中的computeIfAbsent方法构建本地缓存

一、概念及使用介绍在JAVA8的Map接口中,增加了一个方法computeIfAbsent,此方法签名如下:... 全文

Java8 Java8教程

[快讯]期待已久:Java终于支持白名单

甲骨文为Java添加一个让大家久等的功能“Deployment Rule Set”(部署规则集),即支持白名单。Java 7 Update 40允许系统管理员定义哪些Java程序是值得信任的,更便于管理Java安全。很多个人用户为了防止受到针对Java攻击的影响,而选择在浏览器中禁用Java插件,甚至是卸载Java。但是,这对于大多数企业用户来说是不可行的。... 全文

Java Java白名单

拷贝Java项目报错

经常需要将一个项目,导出,然后发给同事,或者是自己用另一个Eclipse工具打开。... 全文

eclipse jdk java tomcat java项目报错

三步学会Java Socket编程(1)

第一步 充分理解Socket1.什么是socket所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。... 全文

Java Socket Socket API Java编程

Jodd 3.3.8 发布,常用 Java 工具包

Jodd 3.3.8 发布,该版本在 Proxetta 的 Lagarto/Jerry 做了重要的更改,修复了很多小问题。Jodd是一个普通开源Java包。你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能。Jodd 提供的功能有:1. 提供操作Java bean,2. 可以从各种数据源加载Bean,3. 简化JDBC的接连与代码,4. 剖析SQL查询,5. 处理时间与日期,6. 操作与格式化String,7. 搜索本地硬盘上的文件,8. 帮助处理Servlet请求等。... 全文

Java Jodd Java工具

6 7 8 9 10 11 12 13 14 15