![]() |
проблема с датой
всем привет.
коллеги, объясните почему: если час содержит два числа, т.е. с 10 до 24 Код:
O:\>%DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%TIME:~0,2%.%TIME:~3,2% Код:
O:\>%DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%TIME:~0,2%.%TIME:~3,2% |
chek, Проблема в настройке формата отображения даты и времени в системе - посмотрите, как у Вас установлено.
Я обычно настраиваю форматы dd.MM.yyyy HH:mm:ss Для ясности сделайте Echo "%Date%" "%Time%" для разных значений дат и времени. Увидите, что позиции компонентов даты и времени разные, в зависимости от количества в них цифр. Если эти манипуляции с датой/временем надо для командного файла, то, чтобы не зависеть от этой настройки, я предпочитаю: Код:
@Echo Off |
так команда у меня выдает результат, это видно из последнего примера, а вот если целиком строку, то нет.
Echo "%Date%" "%Time%" будет разный, т.к. количество символов в time меньше, это понятно. но какая разница сколько этих символов выводить в ответ? |
chek, у вас же нет команды Echo, в приведённом вами фрагменте попытка выполнить код.
Фактически там запуск: 2019.10.25_ 9.22 с пробелом, который cmd вставляет в %Time% при формате H:mm:ss, если H < 10. |
|
chek, Жить надо честно! :) Вы писАли:
Цитата:
Цитата:
Цитата:
Когда в часе 1 символ, перед ним присутствует пробел (2019.10.28_ 5.25), а когда 2 - пробела нет (2019.10.28_15.25). Соответственно, в первом случае присутствует попытка интерпретировать первую команду до пробела, а хвост интерпретатору уже не интересен. И в любом случае Вы получаете сообщение об ошибке выполнения - нет таких команд. Вот если бы Вы написАли Echo %DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%TIME:~0,2%.%TIME:~3,2% всё было бы корректно 2019.10.28_ 5.25 |
теперь ясно.
к сожалению перевод времени на полный формат мне не помог, то ли не влияет на cmd, то ли особенность server 2019. пришлось вводить доп переменную, которая убирает ноль set HTime=%time: =0% и использовать ее в дальнейшем %DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%HTime:~0,2%.%TIME:~3,2% |
|
|
Время: 23:26. |
Время: 23:26.
© OSzone.net 2001-