1 (изменено: dmitry-semin, 2019-07-23 03:58:42)

Тема: AHK: FormatTime добавление дней к краткому формату даты

Добрый день!
Собственно, вопрос в теме, не могу понять, что именно делаю не так.


inputdate := "11.05.2017"
word_array := StrSplit(inputdate, ".", A_Space)  
dd := word_array[1]
MM := word_array[2]
yyyy :=  word_array[3]
outputdate := dd . MM . yyyy
FormatTime, outputdate, %yyyy%%MM%%dd%000000
outputdate2 := outputdate 
FormatTime, outputdate2, %yyyy%%MM%%dd%000000
outputdate2 += 31, days
MsgBox inputdate2 IS %inputdate%`r`noutputdate IS %outputdate%`r`n outputdate2 IS %outputdate2%

Очень хотелось бы без REGex решить.

2

Re: AHK: FormatTime добавление дней к краткому формату даты

Используйте MsgBox для проверки промежуточных результатов:

inputdate := "11.05.2017"
word_array := StrSplit(inputdate, ".", A_Space)  
dd := word_array[1]
MM := word_array[2]
yyyy :=  word_array[3]
MsgBox % outputdate := dd . MM . yyyy
FormatTime, outputdate, %yyyy%%MM%%dd%000000
MsgBox % outputdate2 := outputdate 
FormatTime, outputdate2, %yyyy%%MM%%dd%000000
MsgBox % outputdate2     ; 0:00 11 мая 2017 г. — к такому значению прибавлять дату нельзя
outputdate2 += 31, days  ; значение должно быть в формате YYYYMMDDHH24MISS
MsgBox inputdate2 IS %inputdate%`r`noutputdate IS %outputdate%`r`n outputdate2 IS %outputdate2%
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: dmitry-semin, 2019-07-23 04:31:24)

Re: AHK: FormatTime добавление дней к краткому формату даты

Не правильно видимо назвал тему, понял, что необязательно переводить в YYYYMMDDHH24MISS, достаточно переделать поменять местами единицы исчисления.


tempdate := yyyy . MM .  dd

4

Re: AHK: FormatTime добавление дней к краткому формату даты

teadrinker
Вот так заработало, спасибо.


inputdate := "11.05.2017"
word_array := StrSplit(inputdate, ".", A_Space)  
dd := word_array[1]
MM := word_array[2]
yyyy :=  word_array[3]
tempdate := yyyy . MM .  dd
outputdate := tempdate 
outputdate += 31, days
word_array := StrSplit(outputdate, ".", A_Space)  
dd := word_array[1]
MM := word_array[2]
yyyy :=  word_array[3]
outputdate := dd . MM . yyyy
FormatTime, outputdate, %outputdate%, dd.MM.yyyy
MsgBox inputdate2 IS %inputdate%`r`noutputdate IS %outputdate%`r`n 
return

5

Re: AHK: FormatTime добавление дней к краткому формату даты

Только один кусок лишний:


inputdate := "11.05.2017"
word_array := StrSplit(inputdate, ".", A_Space)  
dd := word_array[1]
MM := word_array[2]
yyyy :=  word_array[3]
tempdate := yyyy . MM .  dd
outputdate := tempdate 
outputdate += 31, days

word_array := StrSplit(outputdate, ".", A_Space)  
MsgBox, % dd := word_array[1]
MsgBox, % MM := word_array[2]
MsgBox, % yyyy :=  word_array[3]
MsgBox, % outputdate := dd . MM . yyyy

FormatTime, outputdate, %outputdate%, dd.MM.yyyy
MsgBox inputdate2 IS %inputdate%`r`noutputdate IS %outputdate%`r`n 
return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: FormatTime добавление дней к краткому формату даты

teadrinker, действительно, теперь уже не так страшно выглядит!