re: Data Type Conversions in Java VIEW POST

re: Hi, thanks for the article. One important addition to your article. The simple date format on does not support ISO standardized timestamps. You ca...

I agree with you SimpleDateFormat is not as efficient as new Java 8+ Date & Time APIs are. Since this tutorial is for beginners, I tried to use only well-known keywords and APIs.

Perhaps, I will write another tutorial on new Java Date & Time APIs especially LocalDate, LocalTime, LocalDateTime, ZonedDateTime etc.


I also agree with you, but since ISO time stamps are so common (I would say 95% of timestamp strings I had to process were ISO string) and I’ve seen a couple of bugs because of wrong parsing. So people should not start with SimpleDateFormatter at any circumstances IMO.


Oh, and to be clear, I’m not talking about efficiency. I’m saying that it does not support all versions of the ISO format. You have to do some ugly hacks and preprocessing.

Yes it requires some ugly preprocessing but it does support popular ISO 8601 date and time formats:

yyyy-MM-dd'T'HH:mm:ssXXX -> 2019-03-30T14:22:15+05:00

//set the timezone to UTC

yyyy-MM-dd'T'HH:mm:ss'Z' -> 2019-03-30T09:22:15Z
yyyyMMdd'T'HHmmss'Z' -> 20190330T092215Z

I updated the tutorial to include these ISO conversions.

Yeah, I know but there is no single formatter that supports parsing all ISO compliant timestamps. The biggest issue is the time zone options. There „Z“ as well as „+00:00“ and others as well.

Yeah, timezone options are a bit confusing for developers. Before Java 8, I even used to have a special DateUtils class for handling these ugly conversions at one place.

code of conduct - report abuse