Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Converting File date to Julian Date Format "JJJ"

Posted on 2006-11-27
11
Medium Priority
?
574 Views
Last Modified: 2008-01-16
I need to create a file name using JJJ in the name which would be the Julian Date format of todays date.  Any idea in VB6 how to do this?  I need to take a file date and then convert that date to the JJJ conversion.  I have code looping through files, so I have the file name and path.  But I need to capture the date of the file and then create the JJJ.  thanks all
0
Comment
Question by:sbornstein2
  • 3
  • 3
  • 2
  • +3
11 Comments
 
LVL 67

Assisted Solution

by:sirbounty
sirbounty earned 200 total points
ID: 18020198
This link has a function that will do that...
http://www.veign.com/vrc_codeview.asp?type=app&id=118

Post if you need additional help. :^)
0
 
LVL 10

Assisted Solution

by:Clif
Clif earned 200 total points
ID: 18020525
Function DateToJulian(dtDate As Date) As Long

    Dim a As Integer, B As Integer, d As Integer, m As Integer, y As Integer

   d = Day(dtDate)
   If (Month(dtDate) > 2) Then
      y = Year(dtDate)
      m = Month(dtDate)
   Else
      y = Year(dtDate) - 1
      m = Month(dtDate) + 12
   End If
   a = y \ 100
   If (Year(dtDate) >= 1582) Or ((Year(dtDate) = 1582) And ((Month(dtDate) >= 10) Or ((Month(dtDate) = 10) And (Day(dtDate) >= 4)))) Then
      B = 2 - a + a \ 4
   Else
      B = 0
   End If
   DateToJulian = Int(365.25 * (y + 4716)) + Int(30.6001 * (m + 1)) + d + B - 1524.5
End Function
0
 
LVL 20

Expert Comment

by:hes
ID: 18020538
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 20

Assisted Solution

by:hes
hes earned 200 total points
ID: 18020559
0
 
LVL 28

Assisted Solution

by:Ark
Ark earned 400 total points
ID: 18023666
Public Function JDay(ByVal dt As Date, Optional BC As Boolean) As Double
   Dim Y As Integer, m As Integer, D As Integer, k As Integer
   Dim JD As Double
   D = Day(dt): m = Month(dt): Y = Year(dt)
   If BC Then Y = 1 - Y
   k = Int((14 - m) / 12)
   JDay = D + Int(367 * (m + (k * 12) - 2) / 12) + Int(1461# * (Y + 4800 - k) / 4) - 32113
   If JDay > 2299160 Then
      JDay = JDay - (Int(3 * Int((Y + 100 - k) / 100) / 4) - 2)
   End If
   JDay = JDay - 0.5 + CDbl(dt) - Int(CDbl(dt))
End Function

0
 
LVL 46

Expert Comment

by:aikimark
ID: 18024061
JJJ = Format(Date,"yyy")

for Date= 11/27/2006, JJJ = 06331
0
 
LVL 28

Assisted Solution

by:Ark
Ark earned 400 total points
ID: 18024112
06331 means 331 day of 2006 year
0
 
LVL 46

Accepted Solution

by:
aikimark earned 1000 total points
ID: 18024138
JJJ = Format(Date,"y")
331
0
 
LVL 46

Expert Comment

by:aikimark
ID: 18024144
pardon the terse response.  Let me explain...a Julian date has the format YYDDD.  My first post's code produces such a string.  My second post is in response to the Ark comment, indicating the Format string that returns just the DDD portion of the Julian date.
0
 
LVL 28

Expert Comment

by:Ark
ID: 18024343
Aikimark, sorry if I misunderstood you and/or  sbornstein2, but in astronomy julian date have double format d.f (where f  is a fraction of a day) - number of days from the noon 01.01.01 AC
0
 

Author Comment

by:sbornstein2
ID: 18024356
Thanks all was helpful.  Also thanks for the file date link Hes.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question