Autore Topic: Conoscere la data di domani  (Letto 238 volte)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.152
  • Tonno verde
    • Mostra profilo
Conoscere la data di domani
« il: 01 Gennaio 2023, 15:49:27 »
C'era un grave errore di ragionamento nel progetto mpDDclock (l'orologio da desktop con le fasi lunari e la sveglia) che ho postato sulla Farm.

Volevo condividere con voi la mia soluzione e se credete avere da voi qualcosa di migliore.

Stupidamente avevo pensato che per aggiornare la data fosse sufficiente un
Codice: [Seleziona]
Data_di_domani = Date(Year(Now), Month(Now), Day(Now) + 1, 0, 0, 0)

Si lo so, non ho ragionato a sufficienza e mia moglie che ha l'orologio sul desktop avrebbe dovuto accorgersene già al primo fine mese.

Purtroppo per pura sorte (malasorte) non ha mai aperto il computer alla fine del mese, fino a ieri che mi ha chiesto lumi sulla finestra di errore.
A dire il vero era già successo un'altra volta ma io non ero in casa, lei ha cliccato su ignora ha riposizionato l'orologio e si è dimenticata di riferirlo.

Al che mi sono reso conto della mia ingenuità, ecco il codice che potrà essere usato con un Data_di_domani = TomorrowDay() :


Codice: [Seleziona]
Private Sub TomorrowDay() As Date

  Dim hTomorrow As Date

  If (Day(Now) + 1) > DaysInMonth(Month(Now)) Then
    If (Month(Now) + 1) > 12 Then
      hTomorrow = Date(Year(Now) + 1, 1, 1, 0, 0, 0)
    Else
      hTomorrow = Date(Year(Now), Month(Now) + 1, 1, 0, 0, 0)
    Endif
  Else
    hTomorrow = Date(Year(Now), Month(Now), Day(Now) + 1, 0, 0, 0)
  Endif
  Return hTomorrow

End

Private Sub DaysInMonth(Month As Integer, Optional Year As Integer = Year(Now)) As Integer

  If Month = 12 Then Return 31
  Return Day(DateAdd(Date(Year, Month + 1, 1), gb.Day, -1))

End

DaysInMount è ricopiato pari pari dal componente gb.util ma essendo un metodo inserito ultimamente ho preferito copiarlo per motivi di compatibilità.

Buon proseguimento di primo giorno dell'anno  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro