`
jixc200233356
  • 浏览: 11793 次
文章分类
社区版块
存档分类
最新评论

java字符串日期处理工具类

 
阅读更多
package com.newer;


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;




/**
 * <h1>常用工具类</h1>
 * 1.字符串常用操作 <br>
 * 2.日期时间操作 <br>
 * 提供静态方法,不可以实例化。
 * @author RSun
 * @date 2012-2-26下午03:58:06
 */
@SuppressWarnings("rawtypes")
public class StrUtil {



/** 禁止实例化 **/
private StrUtil() {
}


/**
* 检查字符串是否为null或者为空串<br>
* 为空串或者为null返回true,否则返回false
*/
public static boolean isNullOrEmpty(String str) {
boolean result = true;
if (str != null && !"".equals(str.trim())) {
result = false;
}
return result;
}


/**
* 判断数组是否为null或者size为0 <br>
* 为null或size为0时返回true,否则返回false
* @param obj
* @return
*/
public static boolean isArrayNull(Object[] obj) {
if(obj == null || obj.length <= 0){
return true;
}
return false;
}


/**
* 判断list是否为null或者size为0 <br>
* 为null或size为0时返回true,否则返回false
* @return
*/
public static boolean isListNull(List list){
if(list == null || list.size() <= 0){
return true;
}
return false;
}


/**
* 检查字符串是否为null或者为"null"<br>
* 为null或者为"null",返回"",否则返回字符串 <br>
* 用于处理数据库查询数据
*/
public static String getCleanString(Object obj){
if( obj == null ){
return "";
}else if(String.valueOf(obj).equals("null")){
return "";
}else{
return String.valueOf(obj);
}
}


/**
* 检查整形数据是否为null<br>
* 为null,返回0,否则返回原值 <br>
* 用于处理数据库查询数据
*/
public static int getCleanInteger(Object obj){
if( obj == null ){
return 0;
}else{
return Integer.parseInt((String)obj);
}
}


/**
* 检查float数据是否为null<br>
* 为null,返回0,否则返回原值 <br>
* 用于处理数据库查询数据
*/
public static float getCleanFloat(Object obj){
if( obj == null ){
return 0f;
}else{
return Float.parseFloat((String)obj);
}
}



/**
* 数组转换为字符串 <br>
* 转换失败或数组为null,返回""
* @param strArray要转换的数组
* @param split分割符
* @return
*/
public static String strArrayByStr(Object[] strArray, String split) {
// return StringUtils.join(strArray, split);
StringBuilder ss = new StringBuilder();
for (int i=0, len = (strArray == null ? 0 : strArray.length); i<len; i++) {
if(i > 0) ss.append(split);
ss.append(strArray[i]);
}
return ss.toString();
}


/**
* 两个字符串取不为null的值,都为null则返回""
* @param str1
* @param str2
* @return 优先返回str1
*/
public static String emailOrAlias(String str1, String str2) {
String str = getCleanString(str1);
if(null == str1 || "".equals(str1)){
str = getCleanString(str2);
}
return str;
}



//================================  日期常用方法=============================


/** 获取当前时间戳  **/
public static String getTimeStamp() {
 String timeStamp = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
     return timeStamp;
}


/** 获得本周第一天时间(yyyy-MM-dd) **/
public static String getMonOfWeek(){
//Calendar c = new GregorianCalendar();
//c.setFirstDayOfWeek(Calendar.MONDAY);
//c.setTime(new Date());
//c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());

Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, c.getActualMinimum(Calendar.DAY_OF_WEEK));

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(c.getTime());
return str;
}


/** 获得本周的最后一天(yyyy-MM-dd) **/
public static String getSunOfWeek(){
//Calendar c = new GregorianCalendar();
//c.setFirstDayOfWeek(Calendar.MONDAY);
//c.setTime(new Date());
//c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6);

Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, c.getActualMaximum(Calendar.DAY_OF_WEEK));

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(c.getTime());
return str;
}


/** 获得当月的第一天(yyyy-MM-dd) **/
public static String getFirstDayOfMonth(){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String str=sdf.format(cal.getTime());
return str;
}


/** 获得当月的最后一天(yyyy-MM-dd) **/
public static String getLastDayOfMonth(){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        SimpleDateFormat sdfs=new SimpleDateFormat("yyyy-MM-dd");
        String str=sdfs.format(cal.getTime());
return str;
}


/**
* 根据时间获取相差天、小时数的新时间
* @param date 参照时间
* @param type 天或小时[d/h](大小写敏感)
* @param num 差值,例如:2表示之后2天或小时,-2表示之前2天或小时
* @return
*/
public static Date getNextDay(Date date, char type, int num) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
switch (type) {
case 'd':
calendar.add(Calendar.DAY_OF_MONTH, num);
break;
case 'h':
calendar.add(Calendar.HOUR_OF_DAY, num);
break;
default:
break;
}
date = calendar.getTime();
return date;
}


/**
* 比较两个时间的相差值(d1与d2)
* @param d1 时间一
* @param d2
* @param type 类型【h/m/s】(大小写敏感)
* @return d1-d2,表示d1比d2早或晚xxx
*/
public static long compareDate(Date d1, Date d2, char type) {
long num = d1.getTime() - d2.getTime();
num/=1000;
if('m' == type){
num/=60;
}else if ('h' == type) {
num/=3600;
}
return num;
}


/**
* 格式化时间,时间转字符串
* @param date null则为当前系统时间
* @param format 格式,null则默认为:'yyyy-MM-dd HH:mm:ss'
* @return 字符串格式的日期
*/
public static String getDateTimeByStr(Date date, String format) {
if(date == null)
date = new Date();
if(format == null)
format = "yyyy-MM-dd HH:mm:ss";
return new SimpleDateFormat(format).format(date);
}


/**
* 格式化时间,字符串转时间
* @param dataStr需要转换的字符串
* @param format 格式,null则默认为:'yyyy-MM-dd HH:mm:ss'
* @return 转换的Date
*/
public static Date getStrByDataTime(String dataStr, String format) {
if(dataStr == null)
return new Date();
if (format == null)
format = "yyyy-MM-dd HH:mm:ss";
DateFormat sdf = new SimpleDateFormat(format);
Date date = null;
try {
date = sdf.parse(dataStr);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}




//================================  其他常用方法=============================

/**
* 从number数值中随机抽取count个数字
* @param count 要抽取的数值个数
* @param number 数字范围为 (0, number]
* @return
*/
public static int[] randomNumber(int count, int number) {
   int k=count, n=number; 
int[] numbers = new int[n];
for (int i = 0; i < numbers.length; i++)
numbers[i] = i + 1;
int[] result = new int[k];
for (int i = 0; i < result.length; i++){  
int r = (int) (Math.random() * n);
result[i] = numbers[r];
numbers[r] = numbers[n - 1];
n--;
}
     
//   Arrays.sort(result);
//   for (int r : result)
//      System.out.println(r);
return result;

}




}

详细页面:http://www.verydemo.com/demo_c89_i137243.html

分享到:
评论

相关推荐

    json工具类,java日期转换,字符串转换等各种工具类

    json读取 java日期转换 字符串转换 各种类型互相转换 集合排序 日期处理等,别看分多,里边包含13中java常用的公用类,绝对物超所值。

    java日期处理工具类

    日期操作工具类,主要实现了日期的常用操作。 * * 在工具类中经常使用到工具类的格式化描述,这个主要是一个日期的操作类,所以日志格式主要使用 SimpleDateFormat的定义格式. * * 格式的意义如下: 日期和...

    最全Java常用日期处理工具类

    该Java工具类调用时只需要类名.方法即可调用。 1.返回纯数字的年月日时分秒时间戳:20191008103656 4.在日期上增加数个整月 5.在日期上增加天数 6.在日期上增加n分钟 7.两个时间相差距离多少天多少小时...

    Java中封装的全局日期处理工具类

    判断字符串是否为日期字符串 获取日期字符串的日期风格。失敗返回null。 将日期字符串转化为日期。失败返回null。 将日期字符串转化为另一日期字符串。失败返回null。 增加日期的年份。失败返回null。 增加...

    java字符串与日期类型转换的工具类

    主要为大家详细介绍了java字符串与日期类型转换的工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java日期工具类

    Java日期工具类 1、日期的各种格式化 2、获取当前年度 3、获取当前月份 4、获取当前天号数 5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、...

    Java常用工具类(持续发布,第一部分:日期、字符串、JSON工具类等)

    包含了货币工具类(将数字货币转成大写)、日期工具类(日期格式化、日期相加减、日期差等)、半角和全角字符相互转换、JSON工具类(利用gson工具包)、字符串工具类(非空判断等)

    Java时间类型和字符串之间的各种转换及几种常见的排序

    个人积累的Java工具类扩展类,包括字符数组转字符串,质数判断,辗转相除法求最大公约数,对字符串的一些判断,几种常见的数组排序、插入、查找等,闰年判断 日期字符串解析等与日期有关的操作,随机字符串。...

    Java常用工具类,字符串、日期、jdbc、xml解析等等

    Java常用工具类,字符串、日期、jdbc、xml解析等等,20161230又更新了日期工具

    java日期时间工具类

    java日期时间工具类,里面主要包括了日期与字符串之间的相互转换,以及输出指定的日期格式

    字符串、日期、正则匹配工具类

    日期转时间,时间转日期,正则匹配,首字母转大小写,日期工具类,转ASCII码等等

    java常用工具类

    文件工具类,Http请求工具类,图片处理工具类。...mail工具类,Map工具类,MD5编码工具类,数字工具类,随机数工具类,反射工具类,字符串处理工具类,URL工具类,XML工具类,常用的数据验证工具类

    java各种工具类-非常齐全

    java各种工具类:包括日期工具类、字符串工具类、文件工具类、xml读写工具类、json工具类、http访问工具类、压缩包工具类等等。非常齐全

    DateUtils.java 日期处理相关工具类

    * 文件名:DateUtils.java 日期处理相关工具类 * 版本信息:V1.0 * 日期:2013-03-11 * Copyright BDVCD Corporation 2013 * 版权所有 http://www.bdvcd.com */ public class DateUtils { /**定义常量**/ ...

    原创好用实用的日期工具类

    强大的好用的原创日期工具类: 1.返回当前日期字符串 yyyy-MM-dd 2.返回当前日期字符串 yyyy-MM-dd HH:mm:ss 3.根据指定时间格式解析日期字符串为Date对象 4.根据默认时间格式解析日期字符串为Date对象 5.根据指定...

    java8日期工具类大全

    日期格式化和解析:日期工具类可以提供方法来格式化和解析日期字符串。使用DateTimeFormatter类可以定义自定义的日期格式,并在日期和字符串之间进行转换。工具类可以封装常见的日期格式,如年-月-日、月/日/年等,...

    java util工具类

    java util帮助类,包括日期工具类、字符串处理工具类、上传工具类、http请求工具类、hibernate工具类、MD5工具类、分页工具类等。 CodeStringUtil.java CreateFileUtil.java DateUtil.java FileCopy.java ...

    我积攒的java工具类 基本满足开发需要的工具类

    D:\002 我的工具类\007 字符串\StringUtils.java D:\002 我的工具类\008 校验 D:\002 我的工具类\008 校验\一起使用 D:\002 我的工具类\008 校验\一起使用\008 校验 D:\002 我的工具类\008 校验\一起使用\008 校验\...

    Java常用工具类大全,工作5年精心整理(最新版)

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

    Java实现的文件读取工具类

    Java实现的文件读取工具类,操作了几个常用的文件输入输出流,还有一个日期和字符串转换的工具类

Global site tag (gtag.js) - Google Analytics