English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

java로 날짜 시간대를 분할하는 코드

이 문서는 java 날짜 시간대 분할 코드 예제를 공유하여 참고해 주세요. 자세한 내용은 다음과 같습니다

/**
 * @author dy
 * @since 2016-09-18 & JDK 1.8.0_91
 */
public class DateCalculate {
  static Logger logger = LoggerFactory.getLogger(DateCalculate.class);
  /**
   * 切割时间段
   *
   * @param dateType 交易类型 M/D/H/N -->每月/每天/每小时/每分钟
   * @param end yyyy-MM-@return
   * dd HH:mm:ss-MM-@return
   * public static List<String> cutDate(String dateType, String start, String end) {
   */
  try {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy
      dd HH:mm:ss);-MM-Date dBegin = sdf.parse(start);
      Date dEnd = sdf.parse(end);
      return findDates(dateType, dBegin, dEnd);
      catch (Exception e) {
    }
      logger.error(e.getMessage(), e);
    }
    return null;
  }
  public static List<String> findDates(String dateType, Date dBegin, Date dEnd) throws Exception {
    List<String> listDate = new ArrayList<>();
    Calendar calBegin = Calendar.getInstance();
    calBegin.setTime(dBegin);
    Calendar calEnd = Calendar.getInstance();
    calEnd.setTime(dEnd);
    while (calEnd.after(calBegin)) {
      switch (dateType) {
        case "M":
          calBegin.add(Calendar.MONTH, 1);
          break;
        case "D":
          calBegin.add(Calendar.DAY_OF_YEAR, 1);break;
        case "H":
          calBegin.add(Calendar.HOUR, 1);break;
        case "N":
          calBegin.add(Calendar.SECOND, 1);break;
      }
      if (calEnd.after(calBegin))
        listDate.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calBegin.getTime()));
      else
        listDate.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calEnd.getTime()));
    }
    return listDate;
  }
  public static void main(String[] args) {
    String start = "2016-02-01 00:00:00";
    String end = "2016-03-02 00:00:00";
    List<String> list = cutDate("D", start, end);
    for (String str : list){
      System.out.println(str);
    }
  }
}

이것이 본 문서의 전체 내용입니다. 여러분의 학습에 도움이 되길 바랍니다. 또한, 나아가 다른 사람들도 지지해 주시길 바랍니다.

성명: 본 내용은 인터넷에서 가져왔으며, 저작권자는 본 사이트가 소유하지 않으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 본 사이트는 인공적인 편집을 하지 않았으며, 관련 법적 책임을 부담하지 않습니다. 저작권 침해가 의심되는 내용을 발견하시면, notice#w로 이메일을 보내 주세요.3codebox.com(이메일을 보내는 경우, #을 @으로 변경하십시오. 신고를 하시고 관련 증거를 제공하시면, 해당 사이트는 즉시 저작권 침해 내용을 삭제합니다.

좋아하는 것