java datetime类型转换_java常用日期类型转换

importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.text.DecimalFormat;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importorg.apache.commons.lang.StringUtils;importorg.joda.time.DateTime;importorg.joda.time.LocalDate;importorg.joda.time.format.DateTimeFormat;/***@authorSimon Lv

*@since2012-6-10*/

public classDateUtils {public static final String YYMMDD = "yyMMdd";public static final String YYYYMMDD = "yyyyMMdd";public static final String PATTERN_DATETIME = "yyyy-MM-dd HH:mm:ss";public static final String PATTERN_DATETIME_M = "yyyy-MM-dd HH:mm";public static final String PATTERN_DATE = "yyyy-MM-dd";public static final String PATTERN_MONTH = "yyyy-MM";public static final String YEAR = "yyyy";public static final SimpleDateFormat DATE_FORMAT = newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");public staticDateTime toDateTime(String dateTime) {if(StringUtils.isBlank(dateTime)) {return null;

}returnDateTimeFormat.forPattern(PATTERN_DATETIME).parseDateTime(dateTime);

}public staticDateTime strToDateTime(String dateTime) {if(StringUtils.isBlank(dateTime)) {return null;

}returnDateTimeFormat.forPattern(PATTERN_DATE).parseDateTime(dateTime);

}public staticString toString(DateTime dateTime) {returndateTime.toString(PATTERN_DATETIME);

}public staticString dateToString(DateTime dateTime) {returndateTime.toString(YEAR);

}public staticString dateTimeToString(DateTime dateTime) {returndateTime.toString(PATTERN_DATE);

}public staticString toString(String dateTime, String pattern) {return newDateTime(dateTime).toString(pattern);

}public staticString toString(LocalDate localDate, String pattern) {if (localDate == null) {return null;

}returnlocalDate.toString(pattern);

}public staticString todayToString() {return newLocalDate().toString(YYMMDD);

}public staticString todayToStringYear() {return newLocalDate().toString(YEAR);

}public staticString todayToString2() {return newLocalDate().toString(YYYYMMDD);

}public staticString todayToYYYYMMDDStr() {return newLocalDate().toString(PATTERN_DATE);

}public staticString todayToChinaStr() {

Calendar calendar=Calendar.getInstance();

StringBuffer sb= newStringBuffer();

sb.append(calendar.get(Calendar.YEAR)).append("年")

.append(calendar.get(Calendar.MONTH)+1).append("月")

.append(calendar.get(Calendar.DAY_OF_MONTH)).append("日")

.append(calendar.get(Calendar.HOUR)).append("时")

.append(calendar.get(Calendar.MINUTE)).append("分");returnsb.toString();

}/*** 将微信消息中的CreateTime转换成标准格式的时间(yyyy-MM-dd HH:mm:ss)

*

*@paramcreateTime

*@return

*/

public staticString getNormalDateFromWebChat(String createTime) {

Long msgCreateTime= Long.parseLong(createTime) * 1000;return DATE_FORMAT.format(newDate(msgCreateTime));

}/*** 将long型时间格式转换为字符格式

*

*@return返回字符串格式 yyyy-MM-dd HH:mm:ss*/

public static String long2LongString(longdate){if(date == -99){return "-";

}

SimpleDateFormat sdf= newSimpleDateFormat(PATTERN_DATETIME);return sdf.format(newDate(date));

}public staticString long2DateString(Long date, String pattern){if(date == null || date.longValue() ==0){return "-";

}if(date.longValue() == -99){return "";

}

SimpleDateFormat sdf= newSimpleDateFormat(pattern);return sdf.format(newDate(date));

}/*** 将long型时间格式转换为字符格式

*

*@return返回字符串格式 yyyy-MM-dd HH:mm*/

public static String long2DatemString(longdate){if(date == -99){return "-";

}

SimpleDateFormat sdf= newSimpleDateFormat(PATTERN_DATETIME_M);return sdf.format(newDate(date));

}/*** 将long型时间格式转换为字符格式

*

*@paramdate

*@return返回字符串格式 yyyy-MM-dd*/

public staticString long2String(Long date){if(null == date || date == -99 || date == 0){return "-";

}

SimpleDateFormat sdf= newSimpleDateFormat(PATTERN_DATE);return sdf.format(newDate(date));

}/***

* YYYY-MM-DD

*@paramdateTime

*@return

*/

public static longstr2Long(String dateTime){if(StringUtils.isBlank(dateTime)) {return 0l;

}

Date date=string2Date(dateTime);returndate.getTime();

}/*** yyyy-MM-dd HH:mm:ss

*@paramdateTime

*@return

*/

public static longstrSLong(String dateTime){if(StringUtils.isBlank(dateTime)) {return 0l;

}

Date date=string2Datetime(dateTime);returndate.getTime();

}/*** 将DateTime型时间格式转换为long

*

*@paramdate

*@return

*/

public static longdate2Long(DateTime dateTime){if (dateTime == null) {return 0l;

}

String date1=dateTimeToString(dateTime);

Date date=string2Date(date1);returndate.getTime();

}/*** 获得精确到秒的日期类型

* yyyy-MM-dd HH:mm:ss

*@paramdate

*@return

*/

public staticDate string2Datetime(String date) {

Date retValue= null;

SimpleDateFormat sdf= newSimpleDateFormat(PATTERN_DATETIME);try{

retValue=sdf.parse(date);

}catch(Exception e){

e.printStackTrace();

}returnretValue;

}/*** 获得日期类型

*

*@paramdate

*@return

*/

public staticDate string2Date(String date) {

Date retValue= null;

SimpleDateFormat sdf= newSimpleDateFormat(PATTERN_DATE);try{

retValue=sdf.parse(date);

}catch(Exception e){

e.printStackTrace();

}returnretValue;

}/*** 日期转换为Long

*

*@paramdateTime

*@return

*/

public static longstr2MonthLong(String dateTime){if(StringUtils.isEmpty(dateTime)) {return 0l;

}

Date date=string2MonthDate(dateTime);return date != null ? date.getTime() : 0l;

}/*** 获得月份类型

*

*@paramdate

*@return

*/

public staticDate string2MonthDate(String date) {

Date retValue= null;

SimpleDateFormat sdf= newSimpleDateFormat(PATTERN_MONTH);try{

retValue=sdf.parse(date);

}catch(Exception e){

e.printStackTrace();

}returnretValue;

}/***

* YYYY-MM-DD

*@paramdate

*@return

*/

public static intgetDayOfWeek(String date){

String[] dateArr= date.split("-");int year = Integer.parseInt(dateArr[0]);int month = Integer.parseInt(dateArr[1]);int day= Integer.parseInt(dateArr[2]);

Calendar calendar= Calendar.getInstance();//获得一个日历

calendar.set(year, month-1, day);//设置当前时间,月份是从0月开始计算

int number = calendar.get(Calendar.DAY_OF_WEEK);//星期表示1-7,是从星期日开始,

returnnumber;

}/*** 获取指定日期一年前时间

*

*@return返回long格式*/

public static long getChainYear(longdate){

Calendar cal=Calendar.getInstance();

cal.setTime(newDate(date));

cal.add(Calendar.YEAR,-1);returncal.getTime().getTime();

}/***

* 时间差,分钟

*@paramstartTime

*@paramendTime

*@return

*/

public static String timeDifference(long startTime,longendTime ){long timeDifferenceSecond = endTime -startTime;double dmin = ((double)timeDifferenceSecond/(60*1000));

BigDecimal bd=BigDecimal.valueOf(dmin);

DecimalFormat df= new DecimalFormat("0");

df.setRoundingMode(RoundingMode.HALF_UP);returndf.format(bd);

}public static Date getTimesWeekMoningDate(int h,int m,ints){

Calendar cal=Calendar.getInstance();int year =cal.get(Calendar.YEAR);int monday =cal.get(Calendar.MONDAY);int dayOfMonth =cal.get(Calendar.DAY_OF_MONTH);

cal.set(year, monday,dayOfMonth, h, m, s);

cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);returncal.getTime();

}/*** 本周开始时间 yyyy-MM-dd HH:mm:ss 0点

*@return

*/

public staticString getTimesWeekMorning() {

SimpleDateFormat formatter= newSimpleDateFormat(PATTERN_DATETIME);

String dateString= formatter.format(getTimesWeekMoningDate(0,0,0));returndateString;

}/*** 本周结束时间 yyyy-MM-dd HH:mm:ss 24点

*@return

*/

public staticString getTimesWeekNight() {

Calendar cal=Calendar.getInstance();

cal.setTime(getTimesWeekMoningDate(0,0,0));

cal.add(Calendar.DAY_OF_WEEK,7);

SimpleDateFormat formatter= newSimpleDateFormat(PATTERN_DATETIME);

String dateString=formatter.format(cal.getTime());returndateString;

}/***

* 本月开始时间0点

*@return

*/

public staticString getTimesMonthMorning() {

Calendar cal=Calendar.getInstance();

cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH),0, 0, 0);

cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));

SimpleDateFormat formatter= newSimpleDateFormat(PATTERN_DATETIME);

String dateString=formatter.format(cal.getTime());returndateString;

}/***

* 本月结束时间24点

*@return

*/

public staticString getTimesMonthNight() {

Calendar cal=Calendar.getInstance();int year =cal.get(Calendar.YEAR);int monday =cal.get(Calendar.MONDAY);int dayOfMonth =cal.get(Calendar.DAY_OF_MONTH);

cal.set(year, monday,dayOfMonth,0, 0, 0);

cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));

cal.set(Calendar.HOUR_OF_DAY,24);

SimpleDateFormat formatter= newSimpleDateFormat(PATTERN_DATETIME);

String dateString=formatter.format(cal.getTime());returndateString;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值