intertwingly

It’s just data

Subjective and objective dates


In TimestampVsCreationDateTime there are a number of votes for each of the 'alternatives'.  In cases like this, I suspect that what is really going on is that people are talking about multiple distinct things.

If I make a post at 2:30 in the morning, the fact that it was 2:30 in the morning is relevant.  If I go back and correct a misspelling eight hours later, that fact too is relevant - to a different audience or set of tools.

Look at the Update Journal web page.  The local time is pre filled in.  The time zone is not captured.  You are free to edit this field.  In Blogger Pro you can even do this after the fact.  It is worth noting that this time is subjective.  Effectively, it is part of the content.  The ability to specify the time zone, or to leave the time zone off, is of paramount importance for this usage.  Being able to sort this is of secondary importance.

Being able to detect that an existing post has changed, and when, is a vital and important use case too.  The closer this date can come to reflecting when the actual content changed (as opposed to reflecting when, say, a template changed), the greater the value that exists in this information.  This time is objective.  Being able to collate these dates is of paramount importance for this usage.  The time zone is not relevant.

Two different, but related needs.  In most cases, the subjective and objective dates will reflect the same underlying point in time.  But we need both points of view.

The above describes the ideal.  Now lets deal with the practical.  If a last modified date reflects when templates were updated, then some value is lost, but I'd still rather have this information than not have it.  If the dates reflect a time zone when they shouldn't, or don't reflect a time zone at all when they should, then some value is lost, but much value still remains.  In particular, a simple sort method may not be as accurate, but it will still mostly work.

In short, modified should be UTC and issued should reflect the local time zone.  Both should be required.