Advertisement
777vasil

[NP] LocalDateTime

Nov 19th, 2019
665
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. import java.time.LocalDate;
  2. import java.time.LocalDateTime;
  3. import java.time.LocalTime;
  4. import java.time.format.DateTimeFormatter;
  5. import java.time.temporal.ChronoUnit;
  6. import java.time.temporal.TemporalAdjusters;
  7.  
  8. /**
  9.  * LocalDateTime tests
  10.  */
  11. public class LocalDateTimeTest {
  12.  
  13.     public static void main(String[] args) {
  14.         System.out.println(localDateTimeOf());
  15.         System.out.println(localDateTimeParse());
  16.         System.out.println(localTimeWith());
  17.         System.out.println(localDatePlusMinus());
  18.         System.out.println(localDateTimeFormat());
  19.         System.out.println(toLocalDateAndTime());
  20.         System.out.println(toLocalDateTime());
  21.     }
  22.  
  23.     static LocalDateTime localDateTimeOf() {
  24.         /**
  25.          * Create a {@link LocalDateTime} of 2015-06-20 23:07:30 by using {@link LocalDateTime#of}
  26.          */
  27.         LocalDateTime ldt = LocalDateTime.of(2015, 06, 20, 23, 07, 30);
  28.         return ldt;
  29.     }
  30.  
  31.     static LocalDateTime localDateTimeParse() {
  32.         /**
  33.          * Create a {@link LocalDateTime} of 2015-06-20 23:07:30 by using {@link LocalDateTime#parse}
  34.          */
  35.         LocalDateTime ldt = LocalDateTime.parse("2015-06-20T23:07:30");
  36.         return ldt;
  37.     }
  38.  
  39.     static LocalDateTime localTimeWith() {
  40.         LocalDateTime ldt = DateAndTimes.LDT_20150618_23073050;
  41.  
  42.         /**
  43.          * Create a {@link LocalDateTime} from {@link ldt}
  44.          * with first day of the next month and also truncated to hours.
  45.          */
  46.        
  47.         return ldt.plusMonths(1).withDayOfMonth(1).truncatedTo(ChronoUnit.HOURS);
  48.     }
  49.  
  50.     static LocalDateTime localDatePlusMinus() {
  51.         LocalDateTime ldt = DateAndTimes.LDT_20150618_23073050;
  52.  
  53.         /**
  54.          * Create a {@link LocalDateTime} from {@link ldt} with 10 month later and 5 hours before
  55.          * by using {@link LocalDateTime#plus*} or {@link LocalDateTime#minus*}
  56.          */
  57.         return ldt.plusMonths(10).minusHours(5);
  58.     }
  59.  
  60.     static String localDateTimeFormat() {
  61.         LocalDateTime ldt = DateAndTimes.LDT_20150618_23073050;
  62.  
  63.         /**
  64.          * Format {@link ldt} to a {@link String} as "2015_06_18_23_07_30"
  65.          * by using {@link LocalDateTime#format} and {@link DateTimeFormatter#ofPattern}
  66.          */
  67.         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss");
  68.         return ldt.format(formatter);
  69.     }
  70.  
  71.     static String toLocalDateAndTime() {
  72.         LocalDateTime ldt = DateAndTimes.LDT_20150618_23073050;
  73.  
  74.         /**
  75.          * Create a {@link LocalDate} and a {@link LocalTime} from {@link ldt}
  76.          * by using {@link LocalDateTime#toLocalDate} and {@link LocalDateTime#toLocalTime}
  77.          */
  78.         LocalDate localDate = ldt.toLocalDate();
  79.         LocalTime localTime = ldt.toLocalTime();
  80.         return localDate.toString() + localTime.toString();
  81.     }
  82.  
  83.     static String toLocalDateTime() {
  84.         LocalDate ld = DateAndTimes.LD_20150618;
  85.         LocalTime lt = DateAndTimes.LT_23073050;
  86.  
  87.         /**
  88.          * Create two equal {@link LocalDateTime} from {@link ld} and {@link lt}
  89.          * by using {@link LocalDate#atTime} and {@link LocalTime#atDate}
  90.          */
  91.         LocalDateTime localDateTime1 = ld.atTime(lt);
  92.         LocalDateTime localDateTime2 = lt.atDate(ld);
  93.         return localDateTime1.toString() + " " + localDateTime2.toString();
  94.     }
  95.  
  96.     static class DateAndTimes {
  97.         public static final LocalDate LD_20150618 = LocalDate.of(2015, 6, 18);
  98.         public static final LocalTime LT_23073050 = LocalTime.of(23, 7, 30, 500000000);
  99.         public static final LocalDateTime LDT_20150618_23073050 = LocalDateTime.of(2015, 6, 18, 23, 7, 30, 500000000);
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement