如何在日期和时间中拆分完整日期格式 - java

时间:2016-05-23 11:58:14

标签: java date time split

我有一个字符串的战利品,你在我的例子中看到要解析的格式。我试着做出今天的决定。

我的问题是,时间几乎就在那里,我只需要比较那个日期。

接下来我想检查时间是否介于两个时间戳“HH:mm:ss”之间.after和。之前但是有问题,日期几乎就在那里......

主要问题是 - 如何在日期和时间中拆分解析后的格式,以自己的方式处理每个格式......

很多

PS:我在Android工作室......

String dtStart = "2016-05-23 07:24:59";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

     if (new Date().equals(format.parse(dtStart)) ) System.out.println("true");
     else System.out.println("false");

     list.add(new LatLng(lat, lng));

} catch (java.text.ParseException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
}

4 个答案:

答案 0 :(得分:8)

java.time

使用Java 8及更高版本中内置的java.time类。

许多功能已经被移植到Java 6& ThreeTen-Backport中的7,并在ThreeTen-ABP中进一步适应Android。

String dateToParse = "2016-05-23 07:24:59";
LocalDateTime dateTime = LocalDateTime.parse(dateToParse, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDate localDate = dateTime.toLocalDate();
LocalTime localTime = dateTime.toLocalTime();
// Compare here to your date & time

答案 1 :(得分:2)

您可以使用SimpleDateFormat这样轻松地实现它:

//Houres - seconds
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

//Years - days
Date hoursAndMinutes = timeFormat.parse(dtStart);
Date yearsMonthsDays = dateFormat.parse(dtStart);

这样,您只能获得日期的小时,分​​钟和秒。 然后,你可以只为年份和月份做同样的事情,然后比较它。

答案 2 :(得分:1)

为了完成,以下是使用Joda日期时间库以及toLocalDate()toLocalTime()方法执行此操作的方法。

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime today = new DateTime();
DateTime start = formatter.parseDateTime(dtStart);
if (today.toLocalDate().compareTo(start.toLocalDate()) != 0) {
    System.out.println("true");
} else {
    System.out.println("false");
}

if (today.toLocalTime().compareTo(start.toLocalTime()) > 0) {
...
}

答案 3 :(得分:0)

我帮忙和sry,我忘了说我在Android工作室..

我在这里找到了我的解决方案:https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html

String dtStart = "2016/05/23 07:24:59";
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

try {
      Date dtStartOK = format.parse(dtStart);
      String stringDate = DateFormat.getDateTimeInstance().format(dtStartOK);
      System.out.println(stringDate);

      System.out.println(DateFormat.getDateInstance().format(dtStartOK));
      System.out.println(DateFormat.getTimeInstance().format(dtStartOK));

} catch (ParseException e) {
      //Handle exception here, most of the time you will just log it.
      e.printStackTrace();
}

给了我:

23.05.2016 07:24:59

2016年5月23日

7时24分59秒