PAGES
← all tools
◆ Digital Forensics & Incident Response

dfdatetime

open-source

dfDateTime provides date and time objects for digital forensics to preserve accuracy and precision.

Summary

dfdatetime is an open-source Python library, free to use, that converts the many timestamp formats found on disk and in file systems (FILETIME, FAT, HFS, APFSAPFSApple's proprietary filesystem introduced in 2017, replacing HFS+, designed for SSDs with native encryption, snapshots, and space sharing — giving cyber tools reliable forensic primitives on modern Apple devices., POSIXPOSIXA family of standards for operating-system interfaces, including process, file and shell behavior. Software that uses these interfaces is easier to move between compatible systems., UUIDUUIDA universally unique identifier, usually a 128-bit value used to identify an object across systems. It is designed to make independently generated identifiers unlikely to collide. version 1 time, Java and .NET timestamps, among others) into date and time objects that preserve their original accuracy and precision. It is imported into other code rather than run on its own, and it is built for forensic examiners and tool developers writing parsers that need to compare timestamps from mismatched sources without losing precision in the conversion; it began life as a support library for Plaso and still serves that role. There is no comparable product named in its own documentation, so it is best understood as infrastructure for the timestamp-normalisation step that most DFIRDFIRDigital forensics and incident response, investigating what happened during a security incident and containing it. The work includes preserving evidence, reconstructing activity and restoring systems. tooling has to solve somewhere. First committed in 2016, it has seven contributors and 26 commits in the past year, with a release 131 days ago, suggesting maintenance continues at a modest but steady pace.

dfDateTime provides date and time objects for digital forensics to preserve accuracy and precision.

How dfdatetime helps

Which timestamp formats scattered across a disk image can I convert into a single comparable representation?

recognizes formats like FILETIME, FAT, HFS, APFS, POSIX, UUID version 1 time, Java and .NET timestamps and turns each into a date and time object built from its own module, so a parser can handle any of them through one interface

Can I trust a comparison between a timestamp pulled from an NTFS file and one from a UUID without losing precision?

keeps each value in its native accuracy and precision rather than forcing everything to a common rounded resolution, so sub-second or nanosecond detail from one source is not silently discarded when set beside a coarser one

How do I get from a raw integer or byte value found in a file structure to something my parser can print as a normal date?

passes the raw value into the format-specific object, which decodes it against that format's epoch and unit definitions and exposes standard date and time output

Do I need to write my own decoder for every new timestamp encoding my parser encounters?

supplies a separate module per known encoding, including less common ones like Delphi TDateTime, OLE Automation dates, RFC2579 date-time and Golang time.Time, so a new parser can reuse an existing module instead of writing a decoder from scratch

Languages

Not documented

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for dfdatetime, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail dfdatetime puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Nothing shipped since we started watching. Releases and docs updates land here as they happen.

last release Jul 30, 2026 · watching since Jun 24, 2026

Project health

Issue, contributor and maintainer activity in log2timeline/dfdatetime, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

  1. Contributors 2 +1 vs prior 12 months
  2. Maintainers 1 +0 joined · −0 left, last 12 months
  3. Bus factor 1 committers behind half the commits
  4. Community-filed not measured of issues opened, last 12 months
  5. Median time to close not measured issues closed, last 12 months
  6. Open backlog 8 of 38 issues ever filed
  1. Issues opened / month 0 · 0 communitymaintainers
  2. Open backlog 8
  3. Contributors / month 0
  4. Commits / month 0
  5. Stars 24
Issue themes, last 12 months not measured

Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

Libraries its release ships

What its latest release locks, checked against known advisories.

None of its release's images build from a lockfile we can read.

Add the badge to your README

Maintain this project? The badge links readers straight to this page, so they can follow every release here.

Tracked by Cyber Toolchain Choose a badge style and copy the code →
browse all tools → score card for your toolchain →