[ 
https://issues.apache.org/jira/browse/PIG-3574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Peterson updated PIG-3574:
-------------------------------

    Description: 
When trying to parse a string with a format as follows *Fri Nov 01 12:30:19 EDT 
2013* there is no way to properly escape the EDT timezone. Both SimpleDate and 
Joda time provide the single quote character ' to escape custom text (see the 
examples 
[here|http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#timezone]
 and documentation [here|http://www.joda.org/joda-time/key_format.html], 
respectively). However, using this violates Pigs grammar and results in an 
error. 

This can be successfully escaped by using something like *ToDate(date,'EEE MMM 
dd HH:mm:ss \'EDT\' yyyy', 'EST')* and a date time will be returned. This 
introduces new problems, when you try something like a filter, the next line 
will throw an error (usually mismatched input '(' expecting SEMI_COLON). I 
believe this is a result of violating Pigs grammar once again.

The problem here is that any datetime string that has a custom format can't be 
parsed (such as *Nov 11th at 12:05*, both due to the *th* and the *at*). 

  was:
When trying to parse a string with a format as follows *Fri Nov 01 12:30:19 EDT 
2013* there is no way to properly escape the EDT timezone. Both SimpleDate and 
Joda time provide the single quote character ' to escape custom text (see the 
examples 
[here|http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#timezone]
 and documentation [here|http://www.joda.org/joda-time/key_format.html], 
respectively). However, using this violates Pigs grammar and results in an 
error. 

This can be successfully escaped by using something like \'EDT\' and a date 
time will be returned. This introduces new problems, when you try something 
like a filter, the next line will throw an error (usually mismatched input '(' 
expecting SEMI_COLON). I believe this is a result of violating Pigs grammar 
once again.


> ToDate() can't handle some custom time formats
> ----------------------------------------------
>
>                 Key: PIG-3574
>                 URL: https://issues.apache.org/jira/browse/PIG-3574
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.11, 0.12.0, 0.11.1
>            Reporter: Mike Peterson
>
> When trying to parse a string with a format as follows *Fri Nov 01 12:30:19 
> EDT 2013* there is no way to properly escape the EDT timezone. Both 
> SimpleDate and Joda time provide the single quote character ' to escape 
> custom text (see the examples 
> [here|http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#timezone]
>  and documentation [here|http://www.joda.org/joda-time/key_format.html], 
> respectively). However, using this violates Pigs grammar and results in an 
> error. 
> This can be successfully escaped by using something like *ToDate(date,'EEE 
> MMM dd HH:mm:ss \'EDT\' yyyy', 'EST')* and a date time will be returned. This 
> introduces new problems, when you try something like a filter, the next line 
> will throw an error (usually mismatched input '(' expecting SEMI_COLON). I 
> believe this is a result of violating Pigs grammar once again.
> The problem here is that any datetime string that has a custom format can't 
> be parsed (such as *Nov 11th at 12:05*, both due to the *th* and the *at*). 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to