I am reading from one Excel file and writing to another.
I have an attribute named "timestamp2" which contains datetime-formatted values from 6/15/17 00:00 to 8/1/18 23:45 (I do realize I'm looking into the future). They are in 15 minute intervals.
FME recognizes that this attribute is datetime and sets the reader accordingly. However, when writing, a number of the values (about 2,300 of them) between 06/15/17 01:00 and 07/09/2017 21:45 get written with the same value.
Furthermore, when I view the data in the Inspector, the FME datevalue appears incorrect. For example, a date of "06/15/2017 02:15" is being represented as 20170615021460 instead of 20170615021500. FME appears to be taking one minute and replacing it with 60 seconds instead.
I was trying to test this further to find the source of the error and I added a DateTimeConverter. It yielded the following error:
DateTimeConverter: '60' is out of range for 'seconds'. Range of 'seconds' is from '0' to '59.999999999'
DateTimeConverter: Failed to evaluate expression '@DateTimeParse(20170615012960,FME|ISO)'. Result is set to null.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Feature Type: `DateTimeConverter__TEST_NULL__'
Attribute(string) : `fme_expression_warnings{0}.attributeName' has value `timestamp2'
Attribute(string) : `fme_expression_warnings{0}.message' has value `Failed to evaluate expression '@DateTimeParse(20170615012960,FME|ISO)'. Result is set to null.'
Attribute(string) : `fme_expression_warnings{0}.transformerName' has value `DateTimeConverter'
Attribute(string) : `fme_feature_type' has value `Sheet1'
Attribute(string) : `fme_type' has value `fme_no_geom'
Attribute(64 bit real) : `timestamp1' has value `42901.062499999985'
Attribute(string) : `timestamp2' is <null>
Attribute(64 bit real) : `timestamp3' has value `42901.062499999985'
Attribute(32 bit integer): `xlsx_row_id' has value `8'
Geometry Type: Unknown (0)
Oddly, out of the 39,552 records entering the transformer, 2,386 were rejected and 37,166 made it through. It is clear to me that you can't have '60' as a second (or minute) value. it's outside a logical range. But FME appears to be creating this issue by itself.