Estrazione data estesa da file di AuroraCommunicator - EnergeticAmbiente.it

annuncio

Comprimi
Ancora nessun annuncio.

Estrazione data estesa da file di AuroraCommunicator

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Estrazione data estesa da file di AuroraCommunicator

    Salve, sono iscritto da poco al forum ed ho subito una domanda da 100.000.
    Ho programmato un software che preleva i dati dai file generati da AuroraCommunicator per poter gestire delle utenze in base alla media della potenza ogni 10 campionamenti, fin qui tutto bene, ma nei file *.cht, la data credo che sia in numero Giuliano, ma è un numero troppo grande da elaborare con: ( Excel, per esempio).
    Qualcuno sa come estrarre la data estesa compreso hh:mm:ss da quel numero?
    Ps. Ifile *.cht si possono aprire con Excel e anche con Notepad.
    Grazie a tutto il forum.

  • #2
    Deduco che tu abbia provato a modificare il formato della cella..

    Commenta


    • #3
      *** Citazione integrale rimossa. Violazione art.3 del regolamento del forum. nll ***

      Certamente, la data Giuliana di Excel, mi sembra che parta dal 1900, mentre la data Giuliana originale dovrebbe partire da qualche millennio AC,(di preciso non ricordo).
      Se da AuroraCommunicator, nel menù statistiche, apro un file grafico, poi lo esporto in Excel, mi ritrovo la data per esteso, GG/MM/AAA hh:mm:ss, ciò significa che nell'esportazione, AuroraCommunicator, esegue una conversione della data, a me servirebbe quella conversione, magari anche sotto forma di codice VB.
      Ma andrebbe bene anche una formula che poi la trasformo in codice.
      Grazie.
      Ultima modifica di nll; 04-02-2013, 05:34.

      Commenta


      • #4
        Sicuro non sia intesa come secondi passati dalla mezzanotte del 1Gennaio1970 o giù di lì? In un unico intero c'è data e ora.

        Commenta


        • #5
          Valori del file *.cht = 63495480141;378,47 --------->Valori in Excel dopo export col software di PowerOne = 03/02/2013 09:22 378,47.
          Quindi il numero prima del ";" è la data e ora, ma se immetto quel numero in excel poi cambio la proprietà della cella in data estesa mi dice che il numero è troppo grande.
          In effetti non so se quel numero parte dal 1970, ma mi sembra una data troppo vicina alla odierna, poi mi servirebbe il metodo che usa PowerOne per fare la conversione.
          Ps. Ho scritto a PowerOne Italia e non mi hanno nemmeno risposto.

          Commenta


          • #6
            Mi spiace, non so aiutarti.
            Quindi si tratta di convertire valori del sistema metrico decimale in misure sessagesimali? Se è così potresti scomporre il numero e usare un algoritmo di calcolo.
            Ultima modifica di astorA4; 03-02-2013, 22:29.

            Commenta


            • #7
              Alor, il numero secondo me indica il numero di secondi passati non dal 1Gennaio1970 ma dal 1Gennaio dell'anno 1 !
              Quindi c'è da fare un po' di lavoro per risalire alla data estesa.
              Come ben dicevi excel conta le date dal 1Gennaio 1900. Se sottraiamo quei 1900 anni al numero iniziale dovremmo avere un numero che sia coerente con l'excel.
              Ultima modifica di Dumah Brazorf; 03-02-2013, 23:04. Motivo: date corrette

              Commenta


              • #8
                Cosa intendi per anno zero? l'inizio del giorno Giuliano che risale al 1° gennaio 4713 AC ?
                Ho trovato qualcosa su Wikipedia che forse insegna come ricavare la data odierna dal numero Giuliano, appeno ho tempo provo a farlo poi magari posto il risultato, intanto ringrazio tutti e se qualcuno conosce un metodo sarò lieto di sperimentarlo.

                Commenta


                • #9
                  Bon, sappiamo che dal 1gennaio dell'anno 1 al 3febbraio2013 sono passati 734901 giorni.
                  Un giorno è fatto da 86400 secondi.
                  734901*86400 = 63495446400 secondi
                  63495480141 - 63495446400 = 33741 secondi
                  9 ore e 22 minuti sono 33720 secondi.
                  La lettura del valore è quindi avvenuta esattamente alle 9:22 e 21secondi del 3Febbraio2013

                  Quindi, ricapitolando. Se sottraiamo al nostro numero i secondi trascorsi dal 1gennaio1 al 1gennaio1900 cioè 59926608000
                  e dividiamo il risultato per il numero di secondi in un giorno cioè 86400 dovremmo ottenere un numero che excel è in grado di convertire in giorno e ora.

                  EDIT: Confermato il funzionamento.
                  Ultima modifica di nll; 04-02-2013, 05:32. Motivo: Unione messaggi consecutivi dello stesso utente

                  Commenta


                  • #10
                    Grazie mille Dumah, domani provo ad implementare il tutto con codice VB, poi ti saprò dire.

                    Commenta


                    • #11
                      Originariamente inviato da Dumah Brazorf Visualizza il messaggio
                      Bon, sappiamo che dal 1gennaio dell'anno 1 al 3febbraio2013 sono passati 734901 giorni.
                      Un giorno è fatto da 86400 secondi.
                      734901*86400 = 63495446400 secondi
                      63495480141 - 63495446400 = 33741 secondi
                      9 ore e 22 minuti sono 33720 secondi.
                      La lettura del valore è quindi avvenuta esattamente alle 9:22 e 21secondi del 3Febbraio2013

                      Quindi, ricapitolando. Se sottraiamo al nostro numero i secondi trascorsi dal 1gennaio1 al 1gennaio1900 cioè 59926608000
                      e dividiamo il risultato per il numero di secondi in un giorno cioè 86400 dovremmo ottenere un numero che excel è in grado di convertire in giorno e ora.

                      EDIT: Confermato il funzionamento.
                      Ottimo spunto Dumah, funziona tutto perfetto tranne che devo usare 59926435200 al posto di 59926608000, perchè ore e minuti andavano bene ma sbagliava la data di due giorni, 1 febbraio anzichè 3 febbraio.

                      Commenta

                      Attendi un attimo...
                      X