Что нового

[Автоматизация] [Время, дата] Вывод времени

Dean

Новичок
Сообщения
2
Репутация
0
Добрый день. Подскажите пожалуйста как вывести месяц в формате august в txt файл. И как можно отнять 10 дней от текущего времени ( Пример: сегодняшняя дата - 5-august-2016, а получилось 26-jule-2016)
 

Anna

Новичок
Сообщения
119
Репутация
2
Вместо @MON поставьте @MON-1, будет предыдущий месяц. К @MDAY прибавьте сколько вам нужно дней.

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("Set Date", 220, 60)

$Input = GUICtrlCreateInput("", 20, 20, 100, 20)

GUISetState()

_SetTimeProc()
AdlibRegister("_SetTimeProc", 1000)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _SetTimeProc()
    GUICtrlSetData($Input, 'Дата : ' & @MDAY & '/' & @MON & '/' & @YEAR);
EndFunc
 
Автор
D

Dean

Новичок
Сообщения
2
Репутация
0
Anna сказал(а):
Вместо @MON поставьте @MON-1, будет предыдущий месяц. К @MDAY прибавьте сколько вам нужно дней.

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("Set Date", 220, 60)

$Input = GUICtrlCreateInput("", 20, 20, 100, 20)

GUISetState()

_SetTimeProc()
AdlibRegister("_SetTimeProc", 1000)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _SetTimeProc()
    GUICtrlSetData($Input, 'Дата : ' & @MDAY & '/' & @MON & '/' & @YEAR);
EndFunc

Мне нужно чтобы он автоматический каждый месяц отнимал 10 дней от текущего дня и записывал в txt, получается если день выпадает к примеру 5-august-2016, то должно получится 25-jule-2016, если 11-august-2016, то должно получится 1-august-2016, дни выпадают рандомно.


Добавлено:
Сообщение автоматически объединено:

И нужно чтобы дата выводила именно словами так august
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Код:
#include <Date.au3>

$tDATE = "5/08/2016"
ConsoleWrite("Исходная Дата: " & $tDATE & @CRLF)
$sDate = _ConvertDate($tDate) ; без этого _DateAdd не даст результат
ConsoleWrite("Исходная Дата Long format :" & _DateTimeFormat($sDATE, 1) & @CRLF)
$sDATE = _DateAdd("d", -10, $sDATE)
ConsoleWrite("Сдвинутая на 10 дней Дата Long format :" & _DateTimeFormat($sDATE, 1) & @CRLF)

Func _ConvertDate($sDate)
	Local $aTMP = StringSplit($sDate, "/")
	If $aTMP[0] < 3 Then Return ""
	Return $aTMP[3]&"/"&$aTMP[2]&"/"&$aTMP[1]
EndFunc


И да, минус 10 дней от 5 августа - это 26-ое, а не 25-ое июля.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
И мой вариант
Код:
#include 'Date.au3'
$date = @MDAY & '-' & _DateToMonth(@MON) & '-' & @YEAR
ConsoleWrite('Текущая дата -> ' & $date & @CRLF)

$dt = StringSplit(_DateAdd('D', -10, @YEAR & '/' & @MON & '/' & @MDAY), '/')

ConsoleWrite('Дата на 10 дней раньше -> ' & $dt[3] & '-' & _DateToMonth($dt[2]) & '-' & $dt[1] & @CRLF)
 
Верх