fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. import java.time.*;
  8. import java.time.format.*;
  9. import java.time.temporal.*;
  10. import java.util.concurrent.*;
  11.  
  12.  
  13. /* Name of the class has to be "Main" only if the class is public. */
  14. class Ideone
  15. {
  16. public static void main (String[] args) throws java.lang.Exception
  17. {
  18. // Time-of-day
  19. int hour = 7 ;
  20. int minute = 23 ;
  21. Boolean isAM = Boolean.TRUE ;
  22. String input = hour + ":" + minute + " " + ( isAM ? "AM" : "PM" ) ; // Ex: 7:53 AM
  23. DateTimeFormatter f = DateTimeFormatter.ofPattern( "h:m a" );
  24. LocalTime lt = LocalTime.parse( input , f );
  25.  
  26. System.out.println ( "input: " + input );
  27. System.out.println ( "lt.toString(): " + lt );
  28.  
  29. // Date + time-of-day
  30. LocalDate ld = LocalDate.of( 2017 , Month.MARCH , 4 );
  31. ZoneId z = ZoneId.of( "America/Montreal" );
  32. ZonedDateTime zdt = ZonedDateTime.of( ld , lt , z );
  33.  
  34. System.out.println ( "zdt.toString(): " + zdt );
  35.  
  36. LocalTime fiveAm = LocalTime.MIN.with ( ChronoField.HOUR_OF_AMPM , 5 ).withMinute ( 23 ).with ( ChronoField.AMPM_OF_DAY , 0 );
  37. LocalTime fivePm = LocalTime.MIN.with ( ChronoField.HOUR_OF_AMPM , 5 ).withMinute ( 23 ).with ( ChronoField.AMPM_OF_DAY , 1 );
  38.  
  39. System.out.println ( "fiveAm.toString(): " + fiveAm );
  40. System.out.println ( "fivePm.toString(): " + fivePm );
  41.  
  42. LocalTime zeroAm = LocalTime.MIN.with ( ChronoField.HOUR_OF_AMPM , 0 ).withMinute ( 23 ).with ( ChronoField.AMPM_OF_DAY , 0 );
  43. LocalTime zeroPm = LocalTime.MIN.with ( ChronoField.HOUR_OF_AMPM , 0 ).withMinute ( 23 ).with ( ChronoField.AMPM_OF_DAY , 1 );
  44.  
  45. System.out.println ( "zeroAm.toString(): " + zeroAm );
  46. System.out.println ( "zeroPm.toString(): " + zeroPm );
  47.  
  48. LocalTime twelveAm = LocalTime.MIN.with ( ChronoField.CLOCK_HOUR_OF_AMPM , 12 ).withMinute ( 23 ).with ( ChronoField.AMPM_OF_DAY , 0 );
  49. LocalTime twelvePm = LocalTime.MIN.with ( ChronoField.CLOCK_HOUR_OF_AMPM , 12 ).withMinute ( 23 ).with ( ChronoField.AMPM_OF_DAY , 1 );
  50.  
  51. System.out.println ( "twelveAm.toString(): " + twelveAm );
  52. System.out.println ( "twelvePm.toString(): " + twelvePm );
  53.  
  54. }
  55. }
Success #stdin #stdout 0.18s 4386816KB
stdin
Standard input is empty
stdout
input: 7:23 AM
lt.toString(): 07:23
zdt.toString(): 2017-03-04T07:23-05:00[America/Montreal]
fiveAm.toString(): 05:23
fivePm.toString(): 17:23
zeroAm.toString(): 00:23
zeroPm.toString(): 12:23
twelveAm.toString(): 00:23
twelvePm.toString(): 12:23