This does not happen on Windows at least. I get a good time and SAS time.
Adding some debugging:
%macro GetModDate(file);
%*Get the modified date of a linux file, as SAS date;
%local rc fref fid ModDate;
%let rc=%sysfunc(filename(fref,&file));
%put &=rc;
%let fid=%sysfunc(fopen(&fref));
%put &=fid;
%let ModDate=%sysfunc(finfo(&fid,Last Modified));
%put &=ModDate;
%*Linux Last Modified returns format like: Fri Apr 10 14:54:10 2015;
%let ModDate=%sysfunc(inputn(%scan(&moddate,2,%str( )) %scan(&moddate,3,%str( )) %scan(&moddate,5,%str( ))
,anydtdte11
));
%let fid=%sysfunc(fclose(&fid));
%let rc=%sysfunc(filename(fref));
&ModDate
%mend GetModDate;
%getModDate(c:\temp\test.html)
returns
RC=0
FID=2
MODDATE=19Mar2015:10:19:09
, , Linux , , , ANYDTDTE, .
:
%let ModDate=
%sysfunc(inputn(
%scan(&moddate,3,%str( ))%scan(&moddate,2,%str( ))%scan(&moddate,5,%str( )),
date9.)
);