|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando

-- Tutorial de iniciación a Autoit --

Volver al índice del tutorial

____________________________

19.- Calendario (DatePicker. MonthCal.).

calendario.exe

- Nota: para trabajar con fechas es más fácil utilizar macros de fecha, como indico al final de esta página.

- Vamos a ver los componentes Date Picker y MohthCal.

- Una de las cosas importantes que necesitaremos es formatear las fechas. Lo podemos hacer con:

_GUICtrlDTP_SetFormat($Date1, "dd:MM:yyyy")

https://www.autoitscript.com/autoit3/docs/libfunctions/_GUICtrlDTP_SetFormat.htm

_DateTimeFormat($Date1, 1)

https://www.autoitscript.com/autoit3/docs/libfunctions/_DateTimeFormat.htm

- El formato de entrada debe ser: "YYYY/MM/DD[ HH:MM:SS]"

---------------------------------------------------------------------------------------------------------------------------

- También es interesante obtener la diferencia entre dos fechas en días, meses, horas, segundos...

_DateDiff('d', $dia, _NowCalc())

https://www.autoitscript.com/autoit3/docs/libfunctions/_DateDiff.htm

- El formato de entrada debe ser: "YYYY/MM/DD[ HH:MM:SS]"

- Sumar y restar fechas:

_DateAdd

https://www.autoitscript.com/autoit3/docs/libfunctions/_DateAdd.htm

- El formato de entrada debe ser: "YYYY/MM/DD[ HH:MM:SS]"

 

- La hora y fecha actual las obtenemos mediante:

_NowCalc()

- IMPORTANTE:

- Para trabajar con fechas es más fácil utilizar macros de fechas:

https://www.autoitscript.com/autoit3/docs/macros.htm#%40MDAY

$dateinput = GUICtrlCreateDate(@YEAR & "/" & @MON & "/" & @MDAY,67, 67, 155, 20)

- Para trabajar con fechas hay que incluir alguna librería como:

#include <Date.au3>
#include <GuiDateTimePicker.au3>

_______________________________________________
- El calendario está en Koda: Win32

__________________________

- Código completo.

Calendario diferencia entre hoy y otra fecha.
				   
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiDateTimePicker.au3>
#include <Date.au3>

#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Calendario - Juan A. Villalpando", 763, 421, 344, 136)
$Date1 = GUICtrlCreateDate(_NowCalc(), 8, 16, 297, 24)
$MonthCal1 = GUICtrlCreateMonthCal(_NowCalc(), 472, 16, 271, 209)
$Label1 = GUICtrlCreateLabel("Label1", 16, 224, 309, 20)
$Label2 = GUICtrlCreateLabel("Label2", 16, 272, 309, 20)
$Label3 = GUICtrlCreateLabel("Label3", 16, 320, 309, 20)
GUISetState(@SW_SHOW)
; Juan A. Villalpando - KIO4.COM
#EndRegion ### END Koda GUI section ###

$dia = ""

While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop

   Case $msg = $Date1
    $dia = GUICtrlRead($Date1)
    GUICtrlSetData($Label1, $dia)

; Diferencia entre hoy y otro día.
   Case $msg = $MonthCal1
    $dia = GUICtrlRead($MonthCal1)
    GUICtrlSetData($Label1,GUICtrlRead($MonthCal1))
    GUICtrlSetData($Label2,_NowCalc())
    GUICtrlSetData($Label3,_DateDiff('d', $dia, _NowCalc()))

EndSelect
Wend
Exit

________________________________________________
- Formatos de fechas:

- En código crea la función _DateFormat()

Formatos de fecha. Crea la función _DateFormat()
				   
#include <GuiConstantsEx.au3>
#include <GuiDateTimePicker.au3>

Local $Date = "1953/04/05 14:30:11.6"

MsgBox(0, "Date Format", 'Date = ' & $Date & @CRLF & _
'"d MMM-yy" ' & @tab & " = " & _DateFormat($Date, "d MMM-yy") & @CRLF & _
'"dddd, d MMMM, yyyy" = ' & _DateFormat($Date, "dddd, d MMMM, yyyy") & @CRLF & _
'"dd/MM/yyyy" ' & @tab & " = " & _DateFormat($Date, "dd/MM/yyyy") & @CRLF & _
'"HH-mm-ss or h:mm tt"" = ' & _DateFormat($Date, "HH-mm-ss or h:mm tt"))

; Crea la función _DateFormat
Func _DateFormat($Date, $style)
Local $hGui = GUICreate("My GUI get date", 200, 200, 800, 200)
Local $idDate = GUICtrlCreateDate($Date, 10, 10, 185, 20)
GUICtrlSendMsg($idDate, 0x1032, 0, $style)
Local $sReturn = GUICtrlRead($idDate)
GUIDelete($hGui)
Return $sReturn
EndFunc

________________________________________________

- Diferencia entre dos fechas.

- https://www.autoitscript.com/forum/topic/134970-difference-between-2-dates/

________________________________________________

- Hora y fecha actual.

- https://www.autoitscript.com/autoit3/docs/libfunctions/_NowDate.htm

- https://www.autoitscript.com/autoit3/docs/libfunctions/_NowTime.htm

________________________________________________

- Se utilizan macros para trabajar fácilmente con las fechas.

- A veces cuesta trabajo entender el formateo de fechas. Para trabajar con fechas fácilmente formateadas se suelen utilizar las macros.

Fecha con macro
$fecha = "Hoy es " & @MDAY & " del " & @MON & " de " & @YEAR & ". Son las " & @HOUR & " horas y " & @MIN & " minutos."

MsgBox(0, "Fecha", $fecha)

- Aquí las puedes encontrar.

- https://www.autoitscript.com/autoit3/docs/macros.htm

_________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información