Sponsored Content
Top Forums Shell Programming and Scripting Converting YYYYMMDD to Julian Post 70383 by vgersh99 on Thursday 28th of April 2005 10:34:07 AM
Old 04-28-2005
this seems to work ok for me - you might want to look into FAQ as well [as suggested by Perderabo:
Code:
#!/bin/ksh

# Calendar date from Julian Day Number
julian2date()
{
typeset tmpday=$(($1 - 1721119))
typeset centuries=$(( (4 * tmpday - 1) / 146097))
tmpday=$((tmpday + centuries - centuries/4))
typeset year=$(( (4 * tmpday - 1) / 1461))
tmpday=$((tmpday - (1461 * year) / 4))
typeset month=$(( (10 * tmpday - 5) / 306))
day=$((tmpday - (306 * month + 5) / 10))
month=$((month + 2))
year=$((year + month/12))
month=$((month % 12 + 1))
printf "%s %02d %02d" $year $month $day
}

date2julian() #  year month day
{
  typeset year=$1;  typeset month=$2;  typeset day=$3
  typeset tmpmonth=$((12 * year + month - 3))
  typeset tmpyear=$((tmpmonth / 12))
  print $(( (734 * tmpmonth + 15) / 24 -  2 * tmpyear + \
  tmpyear/4 - tmpyear/100 + tmpyear/400 + day + 1721119 ))
}


printf "today->[2005 4 29] julian->[%d]\n" $(date2julian 2005 4 29)
printf "and back from julian->[%s %s %s]\n" $(julian2date $(date2julian 2005 4 29))

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Julian Date

I have a shell script which gets passed a parameter which is a combination of Year and Julian Date <YYYYj>. So April 11th, julian date is 101. So if I wanted April 11th for 2003 I would get the following value 2003101. How would I convert that in unix to be 20030411? I am using the korn shell. (3 Replies)
Discussion started by: lesstjm
3 Replies

2. Shell Programming and Scripting

Julian Dates and the Cal command

hey all, I was wondering if it was possible to get the julian date with the cal command. I know that the "-j" option will display it, however, i need the Julian Date of a specific date, in number. For example, the User would enter their age like 19800101 or YYYMMDD, like so. This info... (0 Replies)
Discussion started by: shan2on
0 Replies

3. UNIX for Dummies Questions & Answers

How to get yesterdays julian date

Hi, Was using date +%Y%j to get current julian date. Can anyone let me know how can I get y'day's julin date. Thx Did check FAQ but couldn't find anything. Thanks. (3 Replies)
Discussion started by: er_ashu
3 Replies

4. Shell Programming and Scripting

need help using find and date (julian)

I'm trying to put together a little script that will move some files to a directory, uncompress the file then delete the file when processing is complete. The files are all named using julian date 2009072.Z 2009071.Z 2009070.Z 2009069.Z 2009068.Z 2009067.Z 2009066.Z 2009065.Z... (8 Replies)
Discussion started by: 1buckeye_fan
8 Replies

5. Homework & Coursework Questions

How to approach Julian date?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: This function is given the day, month and year and returns the Julian date. The Julian date is the... (1 Reply)
Discussion started by: mgyeah
1 Replies

6. Shell Programming and Scripting

What do this Julian Date Syntax explains about?

I want to know, what exactly this Julian Date Function is all about? #!/usr/bin/ksh #Script That notify the User Expiration in Servers function juliandate { day=$1 month=$2 year=$3 ((standard_jd = day - 32075 + 1461 * (year + 4800 - (14 - month)/12)/4 + 367 * (month -... (3 Replies)
Discussion started by: baraghun
3 Replies

7. Shell Programming and Scripting

Converting Date from YYYYMMDD to DD-MON-YYYY

Hi , I need to convert date from YYYYMMDD to DD-MON-YYYY e.g 20111214 to 14-Dec-2011 Please help. (17 Replies)
Discussion started by: ady_koolz
17 Replies

8. Shell Programming and Scripting

Converting filenames from julian day to yyyy-mm-dd and retrieving weekly mean values

Hi, I need help to convert the filenames of my 9-year daily files (1999-2007) from a julian day to yyyy-mm-dd format. my original files are patterned likes the ones below. 1999001.txt 1999002.txt 1999003.txt 1999004.txt ... 1999365.txt desired output: 19990101.txt 19990102.txt... (3 Replies)
Discussion started by: ida1215
3 Replies

9. Shell Programming and Scripting

Issue in Julian date conversion

All, I am facing an issue with julian date conversion.. current command: echo `date +%Y%j` `cat -n /home/user/FILENAME.dat |awk '{printf "%08s", $2}'` The above command is working good. But in the above bolded part, it is converting system date to julian date. However I want to... (8 Replies)
Discussion started by: cmaroju
8 Replies

10. Shell Programming and Scripting

Addition to Julian date

Need assistance . Below code gets me julian date . I wanted to add hour/24 to julian date and output it. Is there a way to do the calculation? use Time::Local; use POSIX qw(strftime); my $time=timelocal(1,2,3,9,11,2013); printf strftime "%j", localtime($time); 343 (3 Replies)
Discussion started by: ajayram_arya
3 Replies
CAL_TO_JD(3)								 1							      CAL_TO_JD(3)

cal_to_jd - Converts from a supported calendar to Julian Day Count

SYNOPSIS
int cal_to_jd (int $calendar, int $month, int $day, int $year) DESCRIPTION
cal_to_jd(3) calculates the Julian day count for a date in the specified $calendar. Supported $calendars are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH. PARAMETERS
o $calendar - Calendar to convert from, one of CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH or CAL_FRENCH. o $month - The month as a number, the valid range depends on the $calendar o $day - The day as a number, the valid range depends on the $calendar o $year - The year as a number, the valid range depends on the $calendar RETURN VALUES
A Julian Day number. SEE ALSO
cal_from_jd(3), frenchtojd(3), gregoriantojd(3), jewishtojd(3), juliantojd(3), unixtojd(3). PHP Documentation Group CAL_TO_JD(3)
All times are GMT -4. The time now is 08:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy