- 浏览: 56397 次
- 性别:
- 来自: 厦门
最新评论
/**
* 将UTF编码的字符串转化为GB2312编码的字符串,主要用来处理中文显示乱码的问题
*
* @param UTF
* 通过UTF编码的字符串
* @return 通过GB2312编码的字符串
*/
public static String GB2312FromUTF(String UTF) {
if (UTF == null) {
return "";
} else {
try {
return new String(UTF.getBytes("UTF-8"), "GB2312");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 将GB2312编码的字符串转化为UTF-8编码的字符串,主要用来处理中文显示乱码的问题
*
* @param GB2312
* 通过GB2312编码的字符串
* @return 通过UTF-8编码的字符串
*/
public static String UTFFromGB2312(String GB2312) {
if (GB2312 == null) {
return "";
} else {
try {
return new String(GB2312.getBytes("GB2312"), "UTF-8");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
public static String GBKFromISO8859_1(String ISO8859_1) {
if (ISO8859_1 == null) {
return "";
} else {
try {
return new String(ISO8859_1.getBytes("ISO8859_1"), "GBK");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
public static String GBKFromUTF(String UTF) {
if (UTF == null) {
return "";
} else {
try {
return new String(UTF.getBytes("UTF-8"), "GBK");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 将ISO8859_1编码的字符串转化为UTF-8编码的字符串,主要用来处理中文显示乱码的问题
*
* @param ISO8859_1str
* 通过ISO8859_1编码的字符串
* @return 通过UTF-8编码的字符串
*/
public static String UTFFromISO8859_1(String ISO8859_1str) {
return ISO8859_1str;
}
public static String UTFFromGBK(String GBK) {
if (GBK == null) {
return "";
} else {
try {
return new String(GBK.getBytes("GBK"), "UTF-8");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 将UTF-8编码的字符串转化为ISO8859_1编码的字符串,主要用来处理中文显示乱码的问题
*
* @param UTF
* 通过UTF编码的字符串
* @return 通过ISO8859_1编码的字符串
*/
public static String ISO8859_1FromUTF(String UTFstr) {
if (UTFstr == null) {
return "";
} else {
try {
return new String(UTFstr.getBytes("UTF-8"), "ISO8859_1");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 将GB2312编码的字符串转化为ISO8859_1编码的字符串
*
* @param GBstr
* GB2312编码的字符串
* @return ISO8859_1编码的字符串
*/
public static String ISO8859_1String(String GBstr) {
if (GBstr == null) {
return "";
} else {
try {
return new String(GBstr.getBytes("GB2312"), "ISO8859_1");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 将GB2312编码的字符串转化为ISO8859_1编码的字符串
*
* @param GBstr
* GB2312编码的字符串
* @return ISO8859_1编码的字符串
*/
public String ISO8859_1FromGB2312(String GBstr) {
if (GBstr == null) {
return "";
} else {
try {
return new String(GBstr.getBytes("GB2312"), "ISO8859_1");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
public static String ISO8859_1FromGBK(String GBK) {
if (GBK == null) {
return "";
} else {
try {
return new String(GBK.getBytes("GBK"), "ISO8859_1");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 去除字符串两端空格。
*
* @param str
* 需要处理的字符串
* @return 去掉了两端空格的字符串,如果str 为 null 则返回 ""
*/
public static String trim(String str) {
if (str != null) {
return str.trim();
} else {
return "";
}
}
// static public String mm_dd_yyyy = "MM-dd-yyyy HH:mm:ss";
/**
* 获得当前年份
*
* @return 当前年份,格式如:2003
*/
public static int getCurrentYear() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
return Integer.parseInt(sdf.format(new java.util.Date()));
}
/**
* 获得当前月份
*
* @return 当前月份
*/
public static int getCurrentMonth() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M");
return Integer.parseInt(sdf.format(new java.util.Date()));
}
/**
* 获得当前天
*
* @return 当前天
*/
public static int getCurrentDay() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.DATE);
}
public static String getCurrentDateTime() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd H:mm");
return sdf.format(new Date());
}
/**
* 获得形如 19770608 格式的当前年月日
*
* @return 当前年月日
*/
public static String getSimpleCurrentDate() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyyMMdd HH:mm:ss");
return sdf.format(new java.util.Date());
}
/**
* 返回两个日期相差天数
*
* @param d1
* 日期
* @param d2
* 日期
* @return 天数
*/
public int diffDate(Date d1, Date d2) {
if ((d1 == null) || (d2 == null))
return 0;
Calendar cal = Calendar.getInstance();
// from Locale, has nothing to do with your input date format
int zoneoffset = cal.get(Calendar.ZONE_OFFSET);
int dstoffset = cal.get(Calendar.DST_OFFSET);
// getTime() return absolute GMT time
// compensate with the offsets
long dl1 = d1.getTime() + zoneoffset + dstoffset;
long dl2 = d2.getTime() + zoneoffset + dstoffset;
int intDaysFirst = (int) (dl1 / (60 * 60 * 1000 * 24)); //60*60*1000
int intDaysSecond = (int) (dl2 / (60 * 60 * 1000 * 24));
return intDaysFirst > intDaysSecond ? intDaysFirst - intDaysSecond
: intDaysSecond - intDaysFirst;
}
/**
* 将给定的时间转换为格式是8位的字符串
*
* @param date
* 给定的时间
* @return 格式化后的字符串形式的时间
*/
public String get8BitDate(java.util.Date date) {
if (date == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyyMMdd");
return sdf.format(date);
}
public String to_date(String strdate, String df) {
if (strdate == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
java.text.SimpleDateFormat sdf1 = new java.text.SimpleDateFormat(
"M/d/yyyy H:m:s");
Date d = null;
try {
d = sdf1.parse(strdate);
} catch (ParseException ex) {
ex.printStackTrace();
}
return sdf.format(d);
}
public static String get8BitString(String strDate) {
if (strDate == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
java.text.SimpleDateFormat sdf2 = new java.text.SimpleDateFormat(
"yyyyMMdd");
Date d = null;
try {
d = sdf.parse(strDate);
} catch (ParseException ex) {
ex.printStackTrace();
}
return sdf2.format(d);
}
public static String get8ByteTo10Byte(String strDate) {
if (strDate == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyyMMdd");
java.text.SimpleDateFormat sdf2 = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
Date d = null;
try {
d = sdf.parse(strDate);
} catch (ParseException ex) {
ex.printStackTrace();
}
return sdf2.format(d);
}
public static String getStandedDateTime(String strDate) {
if (strDate == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
java.text.SimpleDateFormat sdf2 = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
Date d = null;
try {
d = sdf.parse(strDate);
} catch (ParseException ex) {
ex.printStackTrace();
}
return sdf2.format(d);
}
public static String getMonthDay(java.util.Date date) {
if (date == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M月d日");
return sdf.format(date);
}
public static String getHourMinute(java.util.Date date) {
if (date == null) {
return "";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("H:mm");
return sdf.format(date);
}
/**
* 判断字符串是否符合日期格式
*
* @param str
* 字符串时间
* @return
*/
public static boolean isDate(String strDate) {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
sdf.setLenient(false);
try {
sdf.parse(strDate);
return true;
} catch (ParseException ex) {
return false;
}
}
/**
* 判断是否是数字
*
* @param str
* @return
*/
public static boolean isNumber(String strNumber) {
boolean bolResult = false;
try {
Double.parseDouble(strNumber);
bolResult = true;
} catch (NumberFormatException ex) {
bolResult = false;
}
return bolResult;
}
public String dateadd(Date strDate, int a) {
String str = "";
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
String strDate1 = sdf.format(strDate);
int year = Integer.parseInt(strDate1.substring(0, 4));
int month = Integer.parseInt(strDate1.substring(5, 7));
int day = Integer.parseInt(strDate1.substring(8, 10));
int md = getdayformonth(month);
int i = (day + a) / md;
int j = (day + a) % md;
if (j == 0) {
i = i - 1;
j = md;
}
String strmon = "";
String strday = "";
String mondiff = "";
if (i < 2) {
if (Integer.toString(j).length() == 1) {
strday = "0" + Integer.toString(j);
} else {
strday = Integer.toString(j);
}
if ((month + i) > 12) {
int yeardiff = (month + i) / 12;
int monthmod = (month + i) % 12;
mondiff = Integer.toString(monthmod);
if (Integer.toString(monthmod).length() == 1) {
mondiff = "0" + Integer.toString(monthmod);
}
str = Integer.toString(year + yeardiff) + "-" + mondiff + "-"
+ strday;
} else {
strmon = Integer.toString(month + i);
if (Integer.toString(month + i).length() == 1) {
strmon = "0" + Integer.toString(month + i);
}
str = Integer.toString(year) + "-" + strmon + "-" + strday;
}
} else {
//主要判断假如天数,月份溢出的处理,
}
return str;
}
public int getdayformonth(int month) {
int a = 0;
switch (month) {
case 1:
a = 31;
break;
case 2:
a = 28;
break;
case 3:
a = 31;
break;
case 4:
a = 30;
break;
case 5:
a = 31;
break;
case 6:
a = 30;
break;
case 7:
a = 31;
break;
case 8:
a = 31;
break;
case 9:
a = 30;
break;
case 10:
a = 31;
break;
case 11:
a = 30;
break;
case 12:
a = 31;
break;
default:
}
return a;
}
public String addOneDay(String strDate) //YYYY-MM-DD
{
int[] standardDays = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int[] leapyearDays = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int y = Integer.parseInt(strDate.substring(0, 4));
int m = Integer.parseInt(strDate.substring(4, 6));
int d = Integer.parseInt(strDate.substring(6,) + 1;
int maxDateCount = 0;
System.out.println(y);
System.out.println(m);
System.out.println(d);
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
maxDateCount = leapyearDays[m - 1];
} else {
maxDateCount = standardDays[m - 1];
}
if (d > maxDateCount) {
d = 1;
m++;
}
if (m > 12) {
m = 1;
y++;
}
java.text.DecimalFormat yf = new java.text.DecimalFormat("0000");
java.text.DecimalFormat mdf = new java.text.DecimalFormat("00");
return yf.format(y) + mdf.format(m) + mdf.format(d);
}
public static String subOneDay(String strDate) {
//YYYY-MM-DD
int[] standardDays = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int[] leapyearDays = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int y = Integer.parseInt(strDate.substring(0, 4));
int m = Integer.parseInt(strDate.substring(4, 6));
int d = Integer.parseInt(strDate.substring(6,) - 1;
int maxDateCount = 0;
System.out.println(y);
System.out.println(m);
System.out.println(d);
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
maxDateCount = leapyearDays[m - 1];
} else {
maxDateCount = standardDays[m - 1];
}
if (d > maxDateCount) {
d = 1;
m++;
}
if (m > 12) {
m = 1;
y++;
}
java.text.DecimalFormat yf = new java.text.DecimalFormat("0000");
java.text.DecimalFormat mdf = new java.text.DecimalFormat("00");
return yf.format(y) + mdf.format(m) + mdf.format(d);
}
public static void main(String[] argv) {
System.out.println(Tools.getMonthDay(new java.util.Date()));
System.out.println(Tools.getHourMinute(new java.util.Date()));
}
}
发表评论
-
servlet jsp 的生命周期
2012-02-09 15:20 1485servlet的生命周期分为以下几个步骤, 第一,加载并实例化 ... -
反射内部类
2011-11-25 18:30 961package test; public class ... -
Date和Calendar类
2010-06-23 08:58 8391、具体类(和抽象类相对)java.util.Date 2、 ... -
Maven2和ivy比较
2010-06-22 13:14 1413Maven 2和Ivy常被放在一起对比,但实际上两者是不同 ... -
JAVA连接DB2注意事项
2010-05-15 23:21 1254使用Class.forName("COM.ibm. ... -
JAVA的MD5加密
2010-01-19 20:44 981MD5的全称是Message-Digest ... -
Web.xml的解析
2010-01-18 13:32 1072web.xml元素介绍 web.xml首先是肯定要包含它的 ... -
JAVA多线程
2010-01-18 13:23 776java.lang.Thread 和 java.lang.R ... -
JDBC调用存储过程
2010-01-09 16:17 945call 语法格式{call 存储过程名(参数列表)} ... -
java读取配置文件
2010-01-09 16:11 8811、随机id的产生如何实现 引入如下的包: impo ... -
UNICODE与汉字编码互转
2010-01-09 16:08 1651为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内 ... -
Eclipse中JVM内存设置
2010-01-09 16:06 663eclipse.ini内存设置 -vmarg ... -
Hibernate 中 执行 原生 SQL 语句
2010-01-09 16:04 3198用hibernate的executeQuery来执行SQL ... -
hibernate完成oracle存储过程(stored procedures)
2010-01-09 15:59 1190import java.sql.CallableState ... -
oracle 下hibernate3.2 sequence generator 生成id的问题
2010-01-09 15:57 1318@SequenceGenerator(name=&q ... -
hibernate三重关联
2009-12-25 12:15 1127------------------------------- ... -
iframe跨域访问cookie、Sessio
2009-12-23 22:20 19781、IE浏览器iframe跨域丢失Session问题 在开发 ... -
拦截系统关闭信号
2009-12-19 21:31 1088在Java窗口程序中按ctrl+c会强行中止Java程序。点击 ...
相关推荐
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
Java自动识别文件字符编码工具类 参考博客 https://blog.csdn.net/superbeyone/article/details/103036914 使用方式: String encode = EncodingDetect.getFileEncode(geoJsonFile); log.info("系统检测到文件[ {}...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
本篇将围绕"JAVA 转换字符编码工具"这个主题,深入探讨字符编码的概念、Java中的字符编码API以及`ReadFile.java`这个可能的源码文件如何处理字符编码。 首先,我们需要理解字符编码的基本概念。常见的字符编码有...
在Java编程中,工具类(Util Class)是包含各种实用函数的静态类,它们提供了一种简化常见任务的方法。在给定的`UtilClass`中,我们有五个主要的工具类:`StringUtil`、`FileUtil`、`ConnectDB`、`DateUtil`和`...
文件工具类,Http请求工具类,图片处理工具类。...mail工具类,Map工具类,MD5编码工具类,数字工具类,随机数工具类,反射工具类,字符串处理工具类,URL工具类,XML工具类,常用的数据验证工具类
在Java编程中,字符编码是一个关键概念,因为不同的编码标准(如ASCII、GBK、UTF-8等)可能对同一字符有不同的表示方式。例如,ASCII主要支持英文字符,而GBK和UTF-8则支持更多的汉字和其他语言字符。在处理字符串时...
在Java编程中,工具类(Utility Class)是包含各种静态方法的类,这些方法提供了方便的功能,例如字符串处理、集合操作、数学计算等。这里提到的"28个java常用的工具类源码"包含了Java开发中经常用到的一些实用工具...
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
以下是一些在Java中常用的工具类及其功能详解: 1. **Base64**: Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Java中的`java.util.Base64`类提供了Base64编码和解码的功能,包括对字节数组、字符串...
以下是对标题“一些java常用的工具类整合”及描述中提到的知识点的详细解释: 1. **字符编码**: 在Java中,处理字符编码通常涉及到`java.nio.charset`包中的类。例如,`Charset`类可以用于识别和操作字符集,`...
"java开发常用工具类.zip" 包含了一系列这样的工具类,这些类可以帮助开发者节省时间,提高代码的可读性和可维护性。下面将详细讨论这个压缩包中可能包含的一些关键工具类和相关知识点。 1. **日期操作工具类**: ...
字符编码工具类CharacterEncodingFilter.java 字符编码工具类CharacterEncodingFilter.java 字符编码工具类CharacterEncodingFilter.java
字符串工具类/数据类型转换类/集合工具类/数组工具类/Properties文件操作类/常用流操作工具类/编码工具类/Json工具类/日期工具类/下载文件工具类/解压ZIP工具类/文件编码转码
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
以下是对标题"常用的30个Java工具类"中提及的一些工具类及其功能的详细说明: 1. **MD5**: MD5(Message-Digest Algorithm 5)是一种广泛用于数据校验和加密的哈希函数。Java中的`java.security.MessageDigest`类...