| Author | Body |
anonymous
5/13/2010 12:15 PM
|
Use this function:
Public Function CommonGetJulianDate(ByVal payYear As Long, payDate As Date)
'Return the 3 digit julian date
Dim JulianDate As String
'Dim CurrentYear As Long
'CurrentYear = Year(Now)
JulianDate = CStr(DateDiff("d", "1/1/" & payYear, payDate) + 1)
Do While Len(JulianDate) < 3
JulianDate = "0" & JulianDate
Loop
CommonGetJulianDate = JulianDate
End Function
|
anonymous
5/13/2010 12:16 PM
|
One more way:
' -----------------------------------------------------------------------------
Public Function CommonGetJulianDate(ByVal payYear As Long, payDate As Date) As String
'Return the 3 digit julian date
Dim JulianDate As String
'Dim CurrentYear As Long
'CurrentYear = Year(Now)
JulianDate = CStr(DateDiff("d", "1/1/" & payYear, payDate) + 1)
Do While Len(JulianDate) < 3
JulianDate = "0" & JulianDate
Loop
CommonGetJulianDate = JulianDate
End Function
'This function is to convert to julian date with ""YY"" + Julian days
Function julianDateConvert(theDate) As String
' Arg: A date with year
' Returns: Julian date version of passed date
Dim monthLen() As Integer
Dim myMonth As Integer
Dim i As Integer
Dim numDays As Integer
If Not IsDate(theDate) Then
Debug.Print "Invalid Date"
Else
ReDim monthLen(1)
monthLen(1) = 31
ReDim Preserve monthLen(2)
If Year(theDate) Mod 4 = 0 Then
monthLen(2) = 29
Else
monthLen(2) = 28
End If
ReDim Preserve monthLen(3)
monthLen(3) = 31
ReDim Preserve monthLen(4)
monthLen(4) = 30
ReDim Preserve monthLen(5)
monthLen(5) = 31
ReDim Preserve monthLen(6)
monthLen(6) = 30
ReDim Preserve monthLen(7)
monthLen(7) = 31
ReDim Preserve monthLen(
monthLen( = 31
ReDim Preserve monthLen(9)
monthLen(9) = 30
ReDim Preserve monthLen(10)
monthLen(10) = 31
ReDim Preserve monthLen(11)
monthLen(11) = 30
myMonth = Month(theDate)
For i = 1 To myMonth - 1
numDays = numDays + monthLen(i)
Next i
numDays = numDays + Val(Format$(theDate, "dd"))
julianDateConvert = Format$(theDate, "yy") & Format$(numDays, "000")
End If
End Function
|