[ https://issues.apache.org/jira/browse/SPARK-12045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035333#comment-15035333 ]
Jeff Zhang commented on SPARK-12045: ------------------------------------ [~cloud_fan] I saw you are on the history of DateTimeUtils, so guess you might know the history of this file. I notice that there's some logic of parsing string to date, not sure why we don't use library instead, is there any case that the third party library can not handle ? Besides that I find one suspicious place as following. Why the millisecond should be 6 digits, as my understanding, it should only 3 digits right ? Line 301 of DateTimeUtils {code} while (digitsMilli < 6) { segments(6) *= 10 digitsMilli += 1 } {code} > Use joda's DateTime to replace Calendar > --------------------------------------- > > Key: SPARK-12045 > URL: https://issues.apache.org/jira/browse/SPARK-12045 > Project: Spark > Issue Type: Improvement > Components: SQL > Affects Versions: 1.5.2 > Reporter: Jeff Zhang > > Currently spark use Calendar to build the Date when convert from string to > Date. But Calendar can not detect the invalid date format (e.g. 2011-02-29). > Although we can use Calendar.setLenient(false) to enable Calendar to detect > the invalid date format, but found the error message very confusing. So I > suggest to use joda's DateTime to replace Calendar. > Besides that, I found that there's already some format checking logic when > casting string to date. And if it is invalid format, it would return None. I > don't think it make sense to just return None without telling users. I think > by default should just throw exception, and user can set property to allow it > return None if invalid format. > {code} > if (i == 0 && j != 4) { > // year should have exact four digits > return None > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org