Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.

Visual Basic - Pasar fecha normal a Juliana

Life is soft - evento anual de software empresarial
  Imprimir  
Vista:

Pasar fecha normal a Juliana

Publicado por vlg1971 (2 intervenciones) el 23/03/2006 17:43:40
Existe alguna funcion para pasar una fecha normal a fecha juliana sin existe que reglas hay que seguir??'
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pasar fecha normal a Juliana

Publicado por Cecilia Colalongo (2315 intervenciones) el 23/03/2006 20:24:53
Fijate en:

http://support.microsoft.com/default.aspx?scid=kb%3Bes%3B116281

http://support.microsoft.com/default.aspx?scid=kb%3Bes%3B162745
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Prueba este código

Publicado por Zoto (55 intervenciones) el 23/03/2006 22:07:22
Hola, amigo.

Prueba el siguiente código para pasar una fecha normal (Gregoriana) a fecha Juliana.
Para que funcione, abre un Nuevo Proyecto Exe Estándar y añade los siguientes controles:

6 TextBox:
txtY
txtM
txtD
txtH
txtH1
txtH2

1 CommandButton
cmdCalc

1 Label
lblJ

Y, en el editor de código del formulario, pega el siguiente código fuente, que permite el cálculo de una fecha Juliana equivalente a la fecha Gregoriana actual a partir del año, el mes, el día, la hora, el minuto y el segundo.
Este es el código:

'------------------------------------------------------
'CÓDIGO FUENTE
'------------------------------------------------------
'------------------------------------
'Nombre: Código para calcular fecha Juliana
'Creador: Zoto - www.lawebdelprogramador.com - Foro Visual Basic
'23/03/2006 - 22:30

'Este código puede distribuirse sin ninguna
'restricción.
'------------------------------------

Private Sub cmdCalc_Click()
lblJ.Caption = GetJulianDate(txtY.Text, txtM.Text, txtD.Text, txtH.Text, txtH1.Text, txtH2.Text)
End Sub

'------------------------------------------------------------------------
'Toma los valores de fecha indicados y devuelve un Double que contiene
'la fecha Juliana correspondiente a la fecha Gregoriana
'------------------------------------------------------------------------

Private Function GetJulianDate(Y As Double, M As Double, D As Double, H As Double, H1 As Double, H2 As Double) As Double
'Y = Año
'M = Mes
'D = Día
'H = Hora
'H1 = Minuto
'H2 = Segundo

S = Y + M / 100 + D / 10000

'Comprobación de fecha
If S <= 1582.1004 Then
G = 0
ElseIf S >= 1582.1015 Then
G = 1
ElseIf S > 1582.1004 And S < 1582.1015 Then
G = -1
'Entre el 04/10/1582 (Y) el 15/10/1582 (entre ese rango de fechas no existe)
End If

'Cálculo de fecha Juliana
H = H + ((H2 / 60 + H1) / 60)
D = D + H / 24
D1 = Int(D)
F = D - D1 - 0.5
J = -1 * Int(7 * (Int((M + 9) / 12) + Y) / 4)
S = 1

If G = 1 Then
If ((M - 9) < 0) Then S = -1
A = Abs(M - 9)
J1 = Int(Y + S * Int(A / 7))
J1 = -1 * Int((Int(J1 / 100) + 1) * 3 / 4)
Else
J1 = 0
End If

J = J + Int(275 * M / 9) + D1 + G * J1
J = J + 1721027 + 2 * G + 367 * Y

If F < 0 Then
F = F + 1
J = J - 1
End If

J = J + F

'If G = -1 Then J = "Fecha no valida"

GetJulianDate = J
End Function

'------------------------------------------------------
'CÓDIGO FUENTE
'------------------------------------------------------

Si te interesa, puedes visitar estos links para obtener información histórica sobre la fecha Juliana:

http://www.alandalus-siglo21.org/index.html?/pages/temjul.html
http://www.geocities.com/xgarciaf/java/fechajul.htm

Esto es un Applet de Java que hace lo mismo que este código y en el cual me he basado para su conversión a Visual Basic:

http://www.geocities.com/xgarciaf/java/juliano.htm

Si tienes alguna otra duda, postea aquí.
Hasta otra,

Zoto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Prueba este código

Publicado por Soleado (22 intervenciones) el 04/03/2015 23:17:32
Pues la verdad es que tal como están las explicaciones y el código, no funciona, así como que no indica que se entra, como se entra, por lo que resulta, si no inutil, si un gran quebradero de cabeza.

Lo que mas me sorprende es que en estos años no hayan planteado esto, escomo si se hubiesen aburrido.

Espero que al menos ahora completen lo que le falta al programa. Zoto espero tu colaboración.

Gracias por todo.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Prueba este código

Publicado por Luichi (3 intervenciones) el 19/03/2015 12:32:13
Aqui tenes el Codigo para calcular el Julino es decir el Numero de dias que pasaron desde el comienzo del Año
Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function SerialToJulian(Fecha)
    Dim SerialDate As Date
    Dim SerialYear As String
    Dim JulianDay As String
    Dim JulianDate As String
 
    SerialDate = Fecha
    SerialYear = Format(SerialDate, "yy")
 
    JulianDay = Format(Str(SerialDate - DateValue("1/1/" &     Str(SerialYear)) + 1), "000")
    JulianDate = SerialYear & JulianDay
 
    SerialToJulian = JulianDate
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar