获取当前时间并间接获取当年的0101 - 1231

package service;

import common.constant.NumConstant;
import common.utils.DateUtil;
import common.utils.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;

import java.util.Date;

/**
* 获取当前时间并间接获取当年的0101 - 1231
*
* @author zhangkuan
* @version Id: TimeConvertTest.java, v 0.1 2022/5/10 15:00 PM zhangkuan Exp $$
*/
public class TimeConvertTest {

/**
* 日期时间格式:yyyyMMddHHmmssSSS
*/
public static final String FULL_PATTERNS = "yyyyMMddHHmmssSSS";

/**
* 日期格式:yyyyMMdd
*/
public static final String DATE_PATTERN = "yyyyMMdd";

/**
* 日期时间格式:yyyyMMddHHmmss
*/
public static final String FULL_PATTERN = "yyyyMMddHHmmss";

public void timeTest() {
String beginTime = null;
Date endTime = null;
if (beginTime == null || endTime == null) {
beginTime = DateUtil.getDateTimeStamp();
System.out.println(beginTime);
String s = StringUtil.subStr(beginTime,0,4);
System.out.println(s);
String s1 = String.valueOf(s.concat("0101"));
System.out.println(s1);
Date startTime = parse(s1);
System.out.println(startTime);
String s2 = String.valueOf(s.concat("1231"));
Date endTime1 = parse(s2);
System.out.println(s2);
System.out.println(endTime1);
}
}

private static Date parse(String date) {
if (!StringUtils.isBlank(date) && date.length() > NumConstant.INT_FOURTEEN) {
return parse(date, FULL_PATTERNS);
}
return parse(date, DATE_PATTERN);
}

/**
* 6、将String 【yyyyMMddHHmiss】类型转换成Date类型
*
* @param date 格式:yyyyMMdd
* @param pattern 格式:yyyyMMdd
* @return Date
*/
public static Date parse(String date, String pattern) {
DateTime dateTime = parseTime(date, pattern);
if (dateTime == null) {
return null;
}
return dateTime.toDate();
}

/**
* 7、将String 【yyyyMMddHHmiss】类型转换成Date类型
*
* @param date 格式:yyyyMMddHHmiss
* @param pattern yyyyMMddHHmiss
* @return DateTime
*/
private static DateTime parseTime(String date, String pattern) {
if (StringUtils.isBlank(date)) {
return null;
}
//这段逻辑整合自 gateway-bank 中的 DateUtil
if (FULL_PATTERN.equals(pattern)) {
return DateTimeFormat.forPattern(pattern).parseDateTime(StringUtils.rightPad(date, 14, '0'));
} else {
return DateTimeFormat.forPattern(pattern).parseDateTime(date);
}
}


/**
* 测试主函数
*/
public static void main(String[] args) {
TimeConvertTest test = new TimeConvertTest();
test.timeTest();
// Date endTime = DateUtil.getEndTimes();
// System.out.println(endTime);
}
}
posted @ 2022-08-22 15:00  夜尽天明之无关风月  阅读(40)  评论(0)    收藏  举报