To get the last modification date/time of a file in a locale-independent manner you could use the wmic command with the DataFile alias:
wmic DataFile where "Name='D:\\Path\\To\\myfile.txt'" get LastModified /VALUE
Regard that the full path to the file must be provided and that all path separators (backslashes \) must be doubled herein.
This returns a standardised date/time value like this (meaning 12th of August 2019, 13:00:00, UTC + 120'):
LastModified=20190812130000.000000+120
To capture the date/time value use for /F, then you can assign it to a variable using set:
for /F "delims=" %%I in ('
wmic DataFile where "Name='D:\\Path\\To\\myfile.txt'" get LastModified /VALUE
') do for /F "tokens=1* delims==" %%J in ("%%I") do set "DateTime=%%K"
The second for /F loop avoids artefacts (like orphaned carriage-return characters) from conversion of the Unicode output of wmic to ASCII/ANSI text by the first for /F loop (see also this answer).
You can then use sub-string expansion to extract the pure date or the time from this:
set "DateOnly=%DateTime:~0,8%"
set "TimeOnly=%DateTime:~8,6%"
To get the creation date/time or the last access date/time, just replace the property LastModified by CreationDate or LastAccessed, respectively. To get information about a directory rather than a file, use the alias FSDir instead of DataFile.
For specifying file (or directory) paths/names containing both , and ), which are usually not accepted by wmic, take a look at this question.
Check out also this post as well as this one about how to get file and directory date/time stamps.