Diferencia entre revisiones de «TimeSpan()»

De ArduWiki
Saltar a: navegación, buscar
(Referencias)
(Ejemplo 1)
 
(No se muestran 16 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 +
Funcion util para representar un intervalo de tiempo con precision de segundos.
  
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
 +
#include <RTClib.h>
 
TimeSpan(dd,hh,mm,ss);
 
TimeSpan(dd,hh,mm,ss);
 +
TimeSpan(segundos);
 
</pre>
 
</pre>
  
 
== Parámetros ==
 
== Parámetros ==
;dd:dias
+
;dd:dias tipo [[int]] (0 a 365)
;hh:horas
+
;hh:horas tipo [[byte]] (0 a 23)
;mm:minutos  
+
;mm:minutos tipo [[byte]] (0 a 59)
;ss:segundos
+
;ss:segundos tipo [[byte]] (0 a 59)
 +
;segudos:numero de segundos totales (int) (0 a 32...)
  
 
== Retorna ==
 
== Retorna ==
  
== Metodos ==
+
== Métodos ==
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Línea 26: Línea 30:
 
|-
 
|-
 
| .seconds() || Segundos
 
| .seconds() || Segundos
 +
|-
 +
| .totalsecons() || Segundos totales
 
|}
 
|}
  
Línea 31: 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
+
//Calculos 1
 
TimeSpan t3 = t2 - t1;
 
TimeSpan t3 = t2 - t1;
 
//Mostrar
 
//Mostrar
Línea 46: Línea 52:
 
Serial.print(t3.minutes());              //0
 
Serial.print(t3.minutes());              //0
 
Serial.print(t3.seconds());              //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
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
{{Nota|No confundas el metodo day() de DateTime con el metodo .days() de TimeSpan.}}
  
 
== Vea también ==
 
== Vea también ==
* [[Fecha y hora]]
+
<categorytree mode=all>Libreria RTC</categorytree>
* [[now()]] - RTClib.h
+
<categorytree mode=all>Libreria Time</categorytree>
* [[DateTime]] - RTClib.h
 
* [[time_t]] - TimeLib.h
 
* [[tmElements_t]] - TimeLib.h
 
  
 
== Referencias ==
 
== Referencias ==
 +
* [https://adafruit.github.io/RTClib/html/class_time_span.html Clase TimeSpan()] - Adafruit
 
* [https://github.com/adafruit/RTClib RTClib] - Adafruit
 
* [https://github.com/adafruit/RTClib RTClib] - Adafruit
 
* [https://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit/what-is-an-rtc Que es RTC] - Adafruit
 
* [https://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit/what-is-an-rtc Que es RTC] - Adafruit
  
[[Category:Variables]]
+
[[Category:Libreria RTC]]

Revisión actual del 16: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