web-dev-qa-db-fra.com

Obtenir la date et l'heure sur la même ligne

Je peux utiliser date /t et time /t pour obtenir la date et l'heure, mais elles ne s'affichent pas l'une à côté de l'autre. Je voulais le faire faire et afficher comme ceci:

Current Date & Time
-------------------

11/27/2013 10:43:05 AM
17
Aaron

Essayez ce qui suit (PowerShell):

Get-Date -Format G

27.11.2013 17:10:23

Le format est défini avec les paramètres régionaux du système. C’est donc ce que j’obtiens, mais si vous utilisez le format de date/heure régional, il doit apparaître comme vous le souhaitez.

(Get-Date).ToString()

serait probablement aussi travailler.

METTRE À JOUR:

"Date and time is: $((Get-Date).ToString())"
24
Frode F.

Dans PowerShell, ceci est trivial:

(Get-Date).ToString('MM/dd/yyyy hh:mm:ss tt')

Dans cmd c'est un peu compliqué:

rem Get the date and time in a locale-agnostic way
for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x
rem Leading zeroes for everything that could be only one digit
set Month=0%Month%
set Day=0%Day%
rem Hours need special attention if one wants 12-hour time (who wants that?)
if %Hour% GEQ 12 (set AMPM=PM) else (set AMPM=AM)
set /a Hour=Hour %% 12
if %Hour%==0 (set Hour=12)
set Hour=0%Hour%
set Minute=0%Minute%
set Second=0%Second%
set Month=%Month:~-2%
set Day=%Day:~-2%
set Hour=%Hour:~-2%
set Minute=%Minute:~-2%
set Second=%Second:~-2%
rem Now you can just create your output string
echo %Month%/%Day%/%Year% %Hour%:%Minute%:%Second% %AMPM%

Notez que beaucoup de code est gaspillé pour supporter ce format de date et d’heure bizarre. Et zéros si nécessaire. Notez également que ce code fonctionne quels que soient les paramètres régionaux et linguistiques de l'utilisateur. Cela ne dépend pas du format de date de l'utilisateur, par exemple (qui est pour moi ISO 8601 de toute façon).

16
Joey

Je ne suis pas un assistant avec cmd.exe, mais cela fonctionne. Il peut y avoir un moyen plus facile!

@echo off
setlocal enableextensions
for /f "tokens=*" %%a in ('date /t') do (
   set d=%%a
)
for /f "tokens=*" %%a in ('time /t') do (
   set t=%%a
)
REM Add those puppies together
set "dt=%d% %t%"
echo %dt%
27/11/2013  16:04
1
Mark Setchell