Go Down

Topic: Ore minuti secondi e data sempre con due caratteri (Read 531 times) previous topic - next topic

Salve a tutti, sto smanettando con il modulo RTC e pare vada tutto ok, ho pescato uno sketch in rete per testarlo e l'ho modificato, "stirato", incollato e "smontato" per vedere se posso fare quello che mi interessa. Di seguito il codice:

#include <Wire.h>
#include "RTClib.h"

RTC_Millis RTC;

void setup () {
   Serial.begin(9600);
   // following line sets the RTC to the date & time this sketch was compiled
   RTC.begin(DateTime(__DATE__, __TIME__));
}

void loop () {
   DateTime now = RTC.now();
   
   Serial.print(now.day(), DEC);
   Serial.print('/');
   Serial.print(now.month(), DEC);
   Serial.print('/');
   Serial.print(now.year(), DEC);
   Serial.print(' ');
   Serial.print(now.hour(), DEC);
   Serial.print(':');
   Serial.print(now.minute(), DEC);
   Serial.print(':');
   Serial.print(now.second(), DEC);
   Serial.println();
   
   Serial.println();
   delay(1000);
}

Il problema è che ho cercato di far uscire i secondi, minuti, ore e la data con un decimale anteponendo lo zero davanti per avere sempre lo stesso numero di caratteri occupati nella riga, ecco di seguito cosa intendo:

11/1/2013 23:5:4 scriverlo come --> 11/01/2013 23:05:04

ma non ci sono riuscito, avete qualche suggerimento da darmi?

Alberto

leo72

Fai un semplice controllo: se il valore è inferiore a 10, stampi prima uno "0" e poi il numero, altrimenti stampi il numero.
Creati una semplice funzioncina che accetta il numero da controllare in ingresso, così la adatti a tutti i casi (che sia giorno, mese, ore, minuti o secondi)

Ottimo leo72, ti ringrazio, ci avevo pensato anch'io ma credevo che esistesse già un comando con tutte le opzioni possibili tipo php.

Alberto

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy