`
- 浏览:
78601 次
- 性别:
- 来自:
湖南
-
- import java.util.Calendar;
-
import java.text.FieldPosition;
-
import java.text.ParsePosition;
-
import java.text.SimpleDateFormat;
-
-
-
public class DateUtil {
-
-
static final SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy年MM月dd日");
-
static final SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
-
static final SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-
-
public static boolean isAfter(String theTime) {
-
switch (theTime.length()) {
-
case 5:
-
return (get("HH:mm").compareTo(theTime) > 0);
-
case 8:
-
return (get("HH:mm:ss").compareTo(theTime) > 0);
-
case 11:
-
if (theTime.charAt(2) == ' ')
-
return (get("dd HH:mm:ss").compareTo(theTime) > 0);
-
if (theTime.charAt(5) == ' ')
-
return (get("MM-dd HH:mm").compareTo(theTime) > 0);
-
case 14:
-
return (get("MM-dd HH:mm:ss").compareTo(theTime) > 0);
-
case 17:
-
return (get("yy-MM-dd HH:mm:ss").compareTo(theTime) > 0);
-
case 19:
-
return (get("yyyy-MM-dd HH:mm:ss").compareTo(theTime) > 0);
- }
-
return false;
- }
-
-
-
public static boolean isBefore(String theTime) {
-
switch (theTime.length()) {
-
case 5:
-
return (get("HH:mm").compareTo(theTime) < 0);
-
case 8:
-
return (get("HH:mm:ss").compareTo(theTime) < 0);
-
case 11:
-
if (theTime.charAt(2) == ' ')
-
return (get("dd HH:mm:ss").compareTo(theTime) < 0);
-
if (theTime.charAt(5) == ' ')
-
return (get("MM-dd HH:mm").compareTo(theTime) < 0);
-
case 14:
-
return (get("MM-dd HH:mm:ss").compareTo(theTime) < 0);
-
case 17:
-
return (get("yy-MM-dd HH:mm:ss").compareTo(theTime) < 0);
-
case 19:
-
return (get("yyyy-MM-dd HH:mm:ss").compareTo(theTime) >= 0);
- }
-
return false;
- }
-
-
-
public static String getDate() {
-
return sdf2.format(new java.util.Date());
- }
-
-
-
public static java.util.Date getDate(long seconds) {
-
return new java.util.Date(new java.util.Date().getTime() + seconds* 1000);
- }
-
-
-
public static String getDate(Calendar ca) {
-
return sdf2.format(ca.getTime());
- }
-
-
-
public static String getDate(java.util.Date date) {
-
return sdf2.format(date);
- }
-
-
-
public static String get(String dateFormatString) {
-
try {
-
return new java.text.SimpleDateFormat(dateFormatString)
-
.format(new java.util.Date());
-
} catch (Exception e) {
- }
-
return null;
- }
-
-
-
public static String get(java.util.Date date, String dateFormatString) {
-
try {
-
return new java.text.SimpleDateFormat(dateFormatString)
- .format(date);
-
} catch (Exception e) {
- }
-
return null;
- }
-
-
-
public static String get(java.util.Calendar calendar, String dateFormatString) {
-
try {
-
return new java.text.SimpleDateFormat(dateFormatString).format(calendar
- .getTime());
-
} catch (Exception e) {
- }
-
return null;
- }
-
-
-
public static Calendar parse(String datetime) {
-
-
if(datetime!=null){
-
if (datetime.length()!=19) {
- datetime=formatToEnglish(datetime);
- }
-
try {
- Calendar rightNow = Calendar.getInstance();
-
- rightNow.setTime(sdf1.parse(datetime));
-
-
return rightNow;
-
-
} catch (Exception e) { }
- }
-
-
return null;
-
- }
-
-
-
public static String getDateTime(java.util.Date date) {
-
return sdf1.format(date);
- }
-
-
-
public static String getDateTime(java.util.Date date, int seconds) {
-
return sdf1.format(new java.util.Date(date.getTime() + seconds * 1000));
- }
-
-
-
public static int getDays(Calendar last) {
- Calendar right = Calendar.getInstance();
-
-
long theTime = right.getTimeInMillis() - last.getTimeInMillis();
-
-
return (int) (theTime / (3600000 * 24));
- }
-
-
private static int seed = 0;
-
-
-
public static String getRandomString(int length) {
- seed++;
-
- Calendar right = Calendar.getInstance();
- String tmp = Long.toString(right.getTimeInMillis() * seed + seed);
-
- length = tmp.length() - length;
-
-
return (length < 0) ? tmp : tmp.substring(length);
- }
-
-
-
public static java.util.Date getToday(String dateFormatString) {
-
try {
-
return parse(
-
new java.text.SimpleDateFormat(dateFormatString)
- .format(Calendar.getInstance().getTime()))
- .getTime();
-
} catch (Exception e) {
- }
-
-
return null;
- }
-
-
-
public static java.util.Date getTomorrow(String dateFormatString) {
-
try {
-
return parse(
-
new java.text.SimpleDateFormat(dateFormatString)
-
.format(new java.util.Date(new java.util.Date()
-
.getTime() + 24 * 3600 * 1000))).getTime();
-
} catch (Exception e) {
- }
-
-
return null;
- }
-
-
-
public static String getDate(int days) {
- Calendar now = Calendar.getInstance();
- now.add(Calendar.DAY_OF_MONTH, days);
-
return sdf2.format(now.getTime());
- }
-
-
-
public static String getDate(String date,int days){
-
java.util.Date dateTemp = sdf2.parse(date, new ParsePosition(0));
-
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(dateTemp);
-
- calendar.add(Calendar.DATE, days);
-
- java.util.Date nowTime = calendar.getTime();
-
-
StringBuffer buffer = sdf2.format(nowTime, new StringBuffer(""),new FieldPosition(0));
-
-
return new String(buffer);
- }
-
-
-
public static String formatToEnglish(String datetime){
- String date=sdf2.format(Calendar.getInstance().getTime());
-
-
String yy=date.substring(0,2);
-
String year=date.substring(0,4);
-
String month=date.substring(5,7);
-
String day=date.substring(8,10);
-
-
String datetimeBak=datetime.replace("日", " ");
-
datetimeBak=datetimeBak.replace(" ", " ");
-
datetimeBak=datetimeBak.replaceAll(" +", " ");
-
-
String dt[]=datetimeBak.split(" ");
-
-
String format=null;
-
- String temp[]=getArray(datetime);
-
if(temp!=null&&dt!=null){
-
-
switch (temp.length){
-
case 1:
-
if(temp[0].length()==1){
-
temp[0]="0"+temp[0];
- }
-
format=year+"-"+month+"-"+temp[1]+" 00:00:00";
-
break;
-
case 2:
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
-
if(dt.length==1){
-
if(dt[0].contains(":")||dt[0].contains(":")||dt[0].contains("点")){
-
format=year+"-"+month+"-"+day+" "+temp[0]+":"+temp[1]+":00";
- }
-
else{
-
format=year+"-"+temp[0]+"-"+temp[1]+" 00:00:00";
- }
- }
-
else if(dt.length==2){
-
format=year+"-"+month+"-"+temp[0]+" "+temp[1]+":00:00";
- }
-
-
break;
-
case 3:
-
if(dt.length==1){
-
if(dt[0].contains(":")||dt[0].contains(":")||dt[0].contains("点")){
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
format=year+"-"+month+"-"+day+" "+temp[0]+":"+temp[1]+":"+temp[2];
- }
-
else{
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[0].length()!=4){
-
temp[0]=yy+temp[0];
- }
-
else if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
format=temp[0]+"-"+temp[1]+"-"+temp[2]+" 00:00:00";
- }
- }
-
else if(dt.length==2){
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
-
String dateArray[]=getArray(dt[0]);
-
String timeArray[]=getArray(dt[1]);
-
if(dateArray.length==2 && timeArray.length==1){
-
format=year+"-"+temp[0]+"-"+temp[1]+" "+temp[2]+":00:00";
- }
-
else if(dateArray.length==1 && timeArray.length==2){
-
format=year+"-"+month+"-"+temp[0]+" "+temp[1]+":"+temp[2]+":00";
- }
- }
-
break;
-
case 4:
-
if(dt.length==2){
-
-
String dateArray[]=getArray(dt[0]);
-
String timeArray[]=getArray(dt[1]);
-
-
if(dateArray.length==3 && timeArray.length==1){
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[0].length()!=4){
-
temp[0]=yy+temp[0];
- }
-
else if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
format=temp[0]+"-"+temp[1]+"-"+temp[2]+" "+temp[3]+":"+"00:00";
- }
-
else{
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
-
if(dateArray.length==1 && timeArray.length==3){
-
format=year+"-"+month+"-"+temp[0]+" "+temp[1]+":"+temp[2]+":"+temp[3];
- }
-
else if(dateArray.length==2 && timeArray.length==2){
-
format=year+"-"+temp[0]+"-"+temp[1]+" "+temp[2]+":"+temp[3]+":00";
- }
- }
- }
-
-
break;
-
case 5:
-
if(dt.length==2){
-
String dateArray[]=getArray(dt[0]);
-
String timeArray[]=getArray(dt[1]);
-
if(dateArray.length==2 && timeArray.length==3){
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
format=year+"-"+temp[0]+"-"+temp[1]+" "+temp[2]+":"+temp[3]+":"+temp[4];
- }
-
else if(dateArray.length==3 && timeArray.length==2){
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[0].length()!=4){
-
temp[0]=yy+temp[0];
- }
-
else if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
format=temp[0]+"-"+temp[1]+"-"+temp[2]+" "+temp[3]+":"+temp[4]+":00";
- }
- }
-
break;
-
case 6:
-
for (int i = 0; i < temp.length; i++) {
-
if(temp[0].length()!=4){
-
temp[0]=yy+temp[0];
- }
-
else if(temp[i].length()==1){
-
temp[i]="0"+temp[i];
- }
- }
-
format=temp[0]+"-"+temp[1]+"-"+temp[2]+" "+temp[3]+":"+temp[4]+":"+temp[5];
-
break;
- }
- }
-
-
return format;
- }
-
-
-
private static String[] getArray(String datetime){
-
String array[]=null;
-
if(datetime!=null){
-
-
datetime=datetime.replace(" ", "-");
-
-
datetime=datetime.replace(" ", "-");
-
datetime=datetime.replace("年", "-");
-
datetime=datetime.replace("月", "-");
-
datetime=datetime.replace("日", "-");
-
datetime=datetime.replace("点", "-");
-
datetime=datetime.replace("分", "-");
-
datetime=datetime.replace("秒", "");
-
datetime=datetime.replace(",", "-");
-
datetime=datetime.replace(",", "-");
-
datetime=datetime.replace(".", "-");
-
datetime=datetime.replace(":", "-");
-
datetime=datetime.replace(":", "-");
-
datetime=datetime.replace("-", "-");
-
datetime=datetime.replace("/", "-");
-
datetime=datetime.replaceAll("-+", "-");
-
-
array=datetime.split("-");
- }
-
-
return array;
- }
-
-
-
public static String formatToChinese(String datetime){
- datetime=formatToEnglish(datetime);
-
if(datetime==null||datetime.equals("")){
-
return null;
- }
-
-
String str[]=datetime.split(":|-| ");
-
-
return str[0]+"年"+str[1]+"月"+str[2]+"日 "+str[3]+"点"+str[4]+"分"+str[5]+"秒";
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Java期末复习-常用类库 StringBuffer、Runtime、国际化程序、System、日期操作类、Math、Random、NumberFormat、BigInteger、BigDecimal、对象克隆技术、Arrays、Comparable、正则表达式、定时调度
在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。 2. java.util.Date类 Date类包装了毫秒值,毫秒值表示自1970年1月1...
Java语言基础.pdf Math类的常用方法.pdf String与StringBuffer.pdf Vector类的用法.pdf 迭代器Iterator的用法.pdf 反射机制.pdf 访问路经问题.pdf 基于MVC和RMI的分布.pdf 经典的查询方式.pdf 经典的显示方法.pdf ...
导图包括一些java常用类知识汇总,包括字符串、日期API(包括jdk8.0之前 和 之后的)、Math类、BigInteger类、BigDecimal类
通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...
java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类...
资源为Java源代码,内含系列常用静态方法,可以直接拿来使用,如:拼合一维数组为字符串;产生在start和end之间的num个随机整数,返回值存在HashMap中;获取当前时间,返回时间格式(如果调用参数为true时返回yyyy-MM...
031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期笔记.pdf 031108_【第11章:Java常用类库】_Math与Random类笔记.pdf...
8.1 Java对象在JVM中的生命周期 8.2 理解Session的缓存 8.2.1 Session的缓存的作用 8.2.2 脏检查及清理缓存的机制 8.3 Java对象在Hibernate持久化层的状态 8.3.1 临时对象的特征 8.3.2 持久化对象的...
2023年5月29日 学习要点... 在Java中定义的每一种类都是从现有类派生来的,或者是显式或者是隐式(如从Object类派生) 第10页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第10页。 2023年5月29日 11 4.
通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...
通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...
通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...
通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...
通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...
本资料开源与IT开发者 论坛,由创建者:iyangxin 编写,本人只做了整理,如有疑惑请...常用类 容器 面向对象 递归 多线程 GUI 反射机制详解 正则表达式 日期处理 字符串 集合 异常处理 IO 流程控制 继承 JAVA高手进阶
showInstVar.java 演示不同的对象拥有不同的成员变量 showMain.java 演示main方法访问本类成员 showMethod.java 演示如何定义一个方法体 showReturn_1.java return语句示例1 showReturn_2.java return语句示例2...
java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...