Topic :: FileTime
Last updated
Last updated
Note: This guide assumes that Celeste is running on Windows. If you play on Mac or Linux, please feel free to contribute!
FileTime is an an element that appears on numerous occasions in the Celeste savefile, usually denoting a duration of playtime. After extensive calculations and testing (cc), it was determined that this value is a 64-bit integer representing 100-nanosecond intervals since January 1, 1601. [1] This is the standard structure that Win32 uses to determine time. [2]
Within our context of measuring playtime, we can ignore the epoch (Jan 1, 1601), and reduce the measurement to 10,000 units per ms
.
For example, the FileTime 864000000000
translates to 86400000
milliseconds, which is exactly 24 hours.
If you were to put that in a Savefile:
Celeste would display 24:00:00.000
on the savefile associated with that time.
So, interpreting this value in other languages (besides C, C++, and C# which have native implementations of FileTime
on Windows), can be done by dividing the value by 10,000
and reading that into a naïve datetime in your language of choice as milliseconds. (Or a time delta, which is more convinent in this context.)
Code Samples: