From
Time Zone Issue Using Custom Date Formats, the issue has been around for years.
And it also mentions the problem with the wrong day being returned.
Only thing I can think is to do something ugly, like /REPLACECS:##:##, where you're manually adjusting for the hour difference.
(Like I said, ugly

.) That would take care of the "hour" number part but would do nothing if it happens that the day ends up incorrect.
Maybe you could do something with the UNIX touch command:
- Code: Select all
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create do not create any files
-d, --date=STRING parse STRING and use it instead of current time
-f (ignored)
-m change only the modification time
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help display this help and exit
--version output version information and exit
Note that the -d and -t options accept different time-date formats.
Report bugs to <bug-coreutils@gnu.org>.
(Note that it too seems to fart on hour, depending when you run the command, where when uses -d, the hour can end up being off by 1 hour.)
I made an approximation of an old SETTIME.COM command, settime.bat:
- Code: Select all
@ECHO OFF
ECHO SETTIME sets a file's date to the "same" file, named "abc"
ECHO a sort of more current variation of my old ancient DOS settime program
ECHO.
ECHO therube 02/20/2015
ECHO.
ECHO File to change the date of: %1
FOR %%i in (%1) do SET BASENAME=%%~dpiabc
ECHO reference file (aka "abc"): "%BASENAME%"
ECHO.
ls -l %1
ls -l "%BASENAME%"
ECHO.
PAUSE
touch %1 --reference="%BASENAME%" -d 14:01:00
ls -l %1
PAUSE
EXIT
I'm quite adept at using Norton Commander & very quickly changing a files time stamp to that of some other files. Typically I name the source file "abc", so I carried that behavior over here [so in many cases I'll end up renaming the source file to 'abc' & then running settime.bat against the target file (from a SendTo context-menu)].
ls is the UNIX directory list command.
-d 14:01:00 is 2:PM, but depending, you it might end up at 3:PM (the 'ol +1 hour).
Stinks that that happens, but I'm forcing the time part as it is, & if it reads 2:01:00 or 3:01:00, I'm OK with that.