AnsweredAssumed Answered

Timestamp: seconds truncated when stored as variable

Question asked by andrewblackwell on May 7, 2015
Latest reply on May 7, 2015 by TSGal


Timestamp: seconds truncated when stored as variable


FileMaker Pro



Operating system version

OS 10.10

Description of the issue

When a timestamp value with 0 seconds is created as a full value, either in a field, or as a function (TIMESTAMP (DATE (MM;DD;YYYY); TIME (HH;MM;SS)), and this value is then stored as a variable, the seconds get truncated.

So, for example, 07/05/2015 21:50:00 becomes 07/05/2015 21:50 when stored as a variable.

This behaviour gets critical when one uses the variable to perform a find with a greater than symbol in a script step. The inserted find value then becomes "> 07/05/2015 21:50:*" - in other words, a star is inserted for the seconds, and all values between 21:50 and 21:51 are ignored, whereas the original intention was to find all results including timestamps between 21:50 and 21:51 (as the search should have said "> 07/05/2015 21:50:00").

I noticed this issue in a synch system built to synch data between two databases, where around 5% of the data was not being synchronised because of this issue!

Steps to reproduce the problem

Create a global field in Table A to hold a timestamp value, and fill it with the following value:

"07/05/2015 21:50:00"

Create a script that stores this value in a variable (e.g. $$timestamp).

Observe in the data viewer how the timestamp turns into "07/05/2015 21:50" (without the seconds).

Use the variable in a search script step on another Table B, where the value sought is ">" & $$timestamp.

Execute the script and observe how the find turns into "> 07/05/2015 21:50:*".

Expected result

see above

Actual result

see above


Using a greater than or equal sign instead of a greater than sign circumvents the problem. Another workaround is to artificially expand the variable to include the seconds.