Salve a tutti, nella conversione da data gregoriana a giuliana ho un strano fenomeno che non riesco a capire. Mi spiego meglio:
La mia data è nel formato: DD/MM/AAAA HH:MM
vorrei convertirla in: AA GGG HH, considerando che
AA sono le ultime due cifre dell'anno, GGG è il numero di giorni trascorsi dall'inizio dell'anno in corso e HH è l 'ora (tanto sono tutte intere non mi interessano i minuti).
Ecco cosa ho prodotto finora:
Codice PHP:
Sub GregToGiul()
Dim fI As Worksheet
Set fI = ThisWorkbook.Worksheets("Input")
Dim rigaInput As Integer
Dim Julian As String
Dim day As String
Dim hours As String
For rigaInput = 2 To fI.Cells(fI.Rows.Count, 1).End(xlUp).Row
years = Format(fI.Cells(rigaInput, 1), "yyyy")
hours = Format(fI.Cells(rigaInput, 1), "hh:mm")
Date = Format(fI.Cells(rigaInput, 1), "dd/mm/yyyy")
dateTo = "01/01/" & years
Julian = DateDiff("d", dateTo, Date)
fI.Cells(rigaInput, 1) = Format(years, "yy") & Format(Julian, "d") & Format(hours, "hh")
Debug.Print "data: " & fI.Cells(rigaInput, 1)
Next rigaInput
End Sub
es output:
dai valori iniziali
01/01/2008 0.00
01/01/2008 1.00
01/01/2008 2.00
01/01/2008 3.00
01/01/2008 4.00
01/01/2008 5.00
01/01/2008 6.00
a
07/02/2045 0.00
08/02/2045 0.00
09/02/2045 0.00
10/02/2045 0.00
11/02/2045 0.00
12/02/2045 0.00
13/02/2045 0.00
rilanciato di nuovo
21/01/1915 0.00
01/05/1915 0.00
09/08/1915 0.00
17/11/1915 0.00
25/02/1916 0.00
18/08/2039 0.00
26/11/2039 0.00
I valori delle singole variabili prima del salvataggio qui
Codice PHP:
fI.Cells(rigaInput, 1) = Format(years, "yy") & Format(Julian, "d") & Format(hours, "hh")
sono corretti, ma non riesco a capire il comportamento molto random di questa assegnazione..
Qualcuno ha qualche idea?..