Modified (simple) display always displays full date + time

Hi!

On a new Win11 PC, I decided to re-do my Directory Opus (registered) config from scratch.

Directory Opus 13.12 Build 9119 x64
OS 10.0 (B:26100 P:2 T:1) SP 0.0

When configuring my Folder Format and choosing columns to display, I had Modified (simple), and it was displaying as expected (i.e., short time/date for recently modified files), but after disabling and re-enabling the column (plus a few other changes to columns), the "Simple" timestamp always displays the full Date/Time instead, even for recently modified files. Unfortunately I didn't notice right away, so I don't know which specific action broke it, but I believe it happened sometime during reconfiguring columns/grouping in a folder.

I've tried removing and re-enabling that column, as well as other random changes as I continued to configure everything else around it. I have also tried exiting Directory Opus from the task tray (process confirmed not running) and restarting it. But no matter what I've tried, the Modified (simple) column now always displays full dates/times. I have saved the Folder Format as the default and applied it to all folders, and no matter which folder I'm in, I always get full dates/times.

I'm happy to provide more info or do a little debugging as needed.

Here's a screenshot, showing the effect, and confirming that I have enabled Modified (simple) and not some other Modified variant:

The default for this column changed some time ago. You might be used to the old version, which probably was this:

if (DatePart(modified, "date") == DatePart(Now(), "date"))
	return DatePart(modified, "time");
return DatePart(modified, "date");

(Look in Preferences / File Display Columns / Evaluator Columns)

Thanks for the quick reply! As far as I know, when I installed on the new PC, I got whatever the 13.12 defaults were. And the Modified (simple) display was showing short timestamps (e.g., time only for files modified today), on this new PC, as I would expect. But at some point as I changed settings, it is now always displaying the full date/time. If "Simple" always displaying full date/time is this new default you mention, then that doesn't make a whole lot of sense to me. :slight_smile:

This is what my Modified (simple) has right now:

// sort by modified date	if (operation == "sort")
	return modified;

// today?
today = Now();
mod_date = DatePart(modified, "date");
if (mod_date == DatePart(today, "date"))
{
	if (operation == "group")
		return LanguageStr(2195); // today
	return DatePart(modified, "time");
}

// if grouping, work out how old
if (operation == "group")
{
	if (modified > today)
		return LanguageStr(5793); // future
	mod_year = DatePart(modified, "yyyy");
	today_year = DatePart(today, "yyyy");
	if (mod_year == today_year)
		return LanguageStr(5800); // earlier this year
	if (mod_year == today_year - 1)
		return LanguageStr(5801); // last year
	return LanguageStr(5802); // a long time ago
}

return mod_date;

I haven't ever modified this code (or even seen this setting) since doing a fresh install a couple weeks ago, but this looks reasonable to me. I would guess that's the default, right? It just doesn't seem to be actually working as intended anymore, as I always get the full date and time, as shown in the screenshot. (Today is 2025-01-24.)

Screenshot showing the full setting window

And I've just spotted the issue. Sorry for the flurry of posts.

This is the code that was in that setting:

// sort by modified date	if (operation == "sort")
	return modified;

It looks like there was supposed to be a newline before if (...) . Without it, this is always returning the full timestamp. But if I add a newline there, it is now working correctly, as it did a couple of hours ago.

The real mystery is how this code was actually changed! I did not even know this setting existed until I read your post.

Yes.

Very odd indeed!

Glad it's sorted :slight_smile: