Fit file name convention within the "Export your data" option?

Hi all,

 

I already found some useful threads regarding the FIT file name convention within GC / 920XT export (e.g. 4BOC0931.FIT)

Lessons learned: timestamp 4B0C0931 is stored using base36.

 

I requested all my Garmin data using this "Your Portability Request" / "Your Garmin Data" export option:

https://www.garmin.com/en-US/account/datamanagement/exportdata/

 

No I realized that the timestamp within the FIT naming convention is a different one.

Any ideas which one is used here for the timestamp?

 

tyia

 

As a reference here the 2nd col shows the data / time format in european format: DD.MM.YYYY h:mm

[email protected]_11608614162.fit

13.05.2017 0:00

[email protected]_11343645702.fit

28.04.2017 0:00

[email protected]_34933354350.fit

11.04.2019 9:34

[email protected]_37153758431.fit

07.07.2019 7:02

  • I could be wrong, but I have a feeling that the number is just a (database) id referencing a fit file (e.g. from a database table with id, userid, and filename). If that's the case, they probably don't have timestamps encoded in the number, and the id might just be an increasing number for each time any user uploads a fit file.

  • Many thanks - that's really an intersting thought which I had not in my mind in general.
    But yes, could be a valid assumption here. again ty.

  • I have just been looking at the filename format having thought I had understood it having read about the use of base 36 for the first characters etc. from that previous thread, i.e. the base date was 22 July 1999.  Back in January 2022, when I converted the names of my .FIT files from a couple of years ago I found the base date was not in 1999 but 4th Nov 1986.  I put this down to me using a different model of Garmin.  However at the beginning of 2022 I found that the 1986 base date didn't work for files I had for the first couple of days of the year.  If I used 28th April 1979 the conversion worked.  Odd.

    Today I came back to this again and found the base date from early January didn't work for a file created yesterday or today.  The conversion for these needs a base date of 15th April 1979 - it has changed by 13 days.  It just so happens that today is the 65th day of 2022 so I wondered if perhaps the base date changes every 5 days.  The downside to this is that my files from 2019 were recorded over a 7 day period and they all worked with the same 1986 base date.  I don't have any more .FIT files to play with.

  • Was there ever a response on this one?  I too have done a portability request and am seeking to understand the naming convention of the files as there's over 300MB worth of stuff to get through!

  • My assumption is that the number is just a unique id and may or may not be derived from a timestamp. More than likely it is a mangled version of a database id, as the first response mentions. It is possible to have multiple activities with the same start time, and if the file name used a timestamp then there would be name collisions.

    The first message in any FIT file should be a file_id message, and most file types will set the time_created field in the file_id message. You could write a tool using any of the seven SDKs that parses the file and then renames the file. For activity files you could read the sport and sub_sport out of the session message as part of the name too. The session message is usually at the very end of the file, so you would need to decode the entire file to get the sport and sub_sport. But 300MB is not a lot of data and should only take a few minutes for any of the SDKs to process. Even quicker if the tool threw an exception after the file_id message was decoding. The exception would keep the rest of the file from being decoded.

  • Not sure what is your overall objective here, but for my purposes I imported all files into Golden Cheath and the program creates a new JSON file for each FIT file which perfectly works for me.