Diferencia entre revisiones de «TimeSpan()»

De ArduWiki
Saltar a: navegación, buscar
(Vea también)
(Ejemplo 1)
 
(No se muestran 3 ediciones intermedias del mismo usuario)
Línea 4: Línea 4:
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
 +
#include <RTClib.h>
 
TimeSpan(dd,hh,mm,ss);
 
TimeSpan(dd,hh,mm,ss);
 
TimeSpan(segundos);
 
TimeSpan(segundos);
Línea 36: Línea 37:
  
 
== Advertencias ==
 
== Advertencias ==
* Tenga en cuenta que el metodo .day() se usa con [[DateTime]] miestras que aqui en metodo es '''days()'''.
+
* Tenga en cuenta que el método .day() se usa con [[DateTime]] mientras que aquí en método es '''days()'''.
 +
* Debe trabajar con el tipo de dato [[DateTime]]
  
 
== Ejemplo 1 ==
 
== Ejemplo 1 ==
Si usas la librería '''RTClib.h''' tendrás disponible los métodos days(), hours(), minutes() y seconds().
 
 
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 +
#include <RTClib.h>
 
DateTime t1 (2018,7,14,8,0,0);          //2018-7-14 8:00:00
 
DateTime t1 (2018,7,14,8,0,0);          //2018-7-14 8:00:00
 
DateTime t2 (2018,7,14,18,0,0);          //2018-7-14 18:00:00  
 
DateTime t2 (2018,7,14,18,0,0);          //2018-7-14 18:00:00  
 
//Calculos 1
 
//Calculos 1
 
TimeSpan t3 = t2 - t1;
 
TimeSpan t3 = t2 - t1;
 +
//Mostrar
 +
Serial.print(t3.days());                  //0
 +
Serial.print(t3.hours());                //10
 +
Serial.print(t3.minutes());              //0
 +
Serial.print(t3.seconds());              //0
 
//Calculos 2
 
//Calculos 2
 
DateTime t4 = t1 + TimeSpan(0,1,0,0);    //Añadir una hora
 
DateTime t4 = t1 + TimeSpan(0,1,0,0);    //Añadir una hora
Línea 51: Línea 57:
 
DateTime t6 = t1 - TimeSpan(7,0,0,0);    //Restar una semana
 
DateTime t6 = t1 - TimeSpan(7,0,0,0);    //Restar una semana
 
//Mostrar
 
//Mostrar
Serial.print(t3.days());                  //0
+
Serial.print(t4.day());                  //14
Serial.print(t3.hours());                //10
+
Serial.print(t4.hour());                //9
Serial.print(t3.minutes());              //0
+
Serial.print(t4.minute());              //0
Serial.print(t3.seconds());              //0
+
Serial.print(t4.second());              //0
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión actual del 12:43 23 ene 2020

Descripción

Funcion util para representar un intervalo de tiempo con precision de segundos.

Sintaxis

#include <RTClib.h>
TimeSpan(dd,hh,mm,ss);
TimeSpan(segundos);

Parámetros

dd
dias tipo int (0 a 365)
hh
horas tipo byte (0 a 23)
mm
minutos tipo byte (0 a 59)
ss
segundos tipo byte (0 a 59)
segudos
numero de segundos totales (int) (0 a 32...)

Retorna

Métodos

Metodo Descripción
.days() Dias
.hours() Horas
.minutes() Minutos
.seconds() Segundos
.totalsecons() Segundos totales

Comentarios

Advertencias

  • Tenga en cuenta que el método .day() se usa con DateTime mientras que aquí en método es days().
  • Debe trabajar con el tipo de dato DateTime

Ejemplo 1

#include <RTClib.h>
DateTime t1 (2018,7,14,8,0,0);           //2018-7-14 8:00:00
DateTime t2 (2018,7,14,18,0,0);          //2018-7-14 18:00:00 
//Calculos 1
TimeSpan t3 = t2 - t1;
//Mostrar
Serial.print(t3.days());                  //0
Serial.print(t3.hours());                 //10
Serial.print(t3.minutes());               //0
Serial.print(t3.seconds());               //0
//Calculos 2
DateTime t4 = t1 + TimeSpan(0,1,0,0);    //Añadir una hora
DateTime t5 = t1 + TimeSpan(1,0,0,0);    //Añadir un dia
DateTime t6 = t1 - TimeSpan(7,0,0,0);    //Restar una semana
//Mostrar
Serial.print(t4.day());                  //14
Serial.print(t4.hour());                 //9
Serial.print(t4.minute());               //0
Serial.print(t4.second());               //0

Nota: No confundas el metodo day() de DateTime con el metodo .days() de TimeSpan.


Vea también


Referencias