Sponsored Content
Full Discussion: Julian Date
Top Forums Shell Programming and Scripting Julian Date Post 35562 by oombera on Thursday 17th of April 2003 02:41:38 PM
Old 04-17-2003
Well if you can alter the script that's passing the parameter, you could change the piece of code, such as date +%Y%j, so that it sends what you want it to send, such as date +%Y%m%d.

Otherwise...
Assuming the variable that stores that passed value is called varPassed, you can put this (ksh) code in a file called someScript, make it executable, and call it with newValue=`someScript $varPassed`:

Code:
varPassed=$1

month=1
flag=0

theYear=`echo $varPassed | awk '{print substr ($0, 1, 4)'}`
dayOfYear=`echo $varPassed | awk '{print substr ($0, 5, 3)'}`
dayOfYear=`expr $dayOfYear - 0`

TestLeapYear() {
  if [[ `expr $theYear % 4` != 0 && $dayOfYear -gt 28 ]] then
    month=`expr $month + 1`
    dayOfYear=`expr $dayOfYear - 28`
  else
    if [[ `expr $theYear % 4` = 0 && $dayOfYear -gt 29 ]] then
      month=`expr $month + 1`
      dayOfYear=`expr $dayOfYear - 29`
    else
      flag=1
    fi
  fi
}

Days30() {
  if [[ $dayOfYear -gt 30 ]] then
    month=`expr $month + 1`
    dayOfYear=`expr $dayOfYear - 30`
  else
    flag=1
  fi
}

Days31() {
  if [[ $dayOfYear -gt 31 ]] then
    month=`expr $month + 1`
    dayOfYear=`expr $dayOfYear - 31`
  else
    flag=1
  fi
}

Days31 #january
if [[ $flag = 0 ]] then
  TestLeapYear #february
fi
if [[ $flag = 0 ]] then
  Days31 #march
fi
if [[ $flag = 0 ]] then
  Days30 #april
fi
if [[ $flag = 0 ]] then
  Days31 #may
fi
if [[ $flag = 0 ]] then
  Days30 #june
fi
if [[ $flag = 0 ]] then
  Days31 #july
fi
if [[ $flag = 0 ]] then
  Days31 #august
fi
if [[ $flag = 0 ]] then
  Days30 #september
fi
if [[ $flag = 0 ]] then
  Days31 #october
fi
if [[ $flag = 0 ]] then
  Days30 #november
fi

if [[ $month -lt 10 ]] then
  month=0$month
fi
if [[ $dayOfYear -lt 10 ]] then
  dayOfYear=0$dayOfYear
fi

echo $theYear$month$dayOfYear


Last edited by oombera; 04-17-2003 at 03:52 PM..
This User Gave Thanks to oombera For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find julian date for given corresponding date

Hi, is there any possibility to find julian date for given corresping date. I will be gladfull if i get it. Requirement : Input : 10 09 2006 output: julian date: 283 thanks srikanth (2 Replies)
Discussion started by: srikanthus2002
2 Replies

2. Shell Programming and Scripting

convert Julian date to calender date

Hi, I have script in unix which creates a julian date like 126 or 127 I want convert this julian date into calender date ex : input 127 output 07/may/2007 or 07/05/2007 or 07/05/07 rgds srikanth (6 Replies)
Discussion started by: srikanthus2002
6 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. Shell Programming and Scripting

Conversion of date to Julian date

Hi Gurus, Need help in Conversion of date(2007-11-30) to Julian date(YYDDD)... '+%J' 2007-11-30 to 'YYDDD' Thanks (4 Replies)
Discussion started by: SeenuGuddu
4 Replies

6. Homework & Coursework Questions

Get Julian date from date string

Hi, im new for UNIX. i have a problem in date function. please help me to find a solution. batchdate="29/10/2010" nextdate="01/11/2010" i want compare this two date. if my batch date greater than nextdate should prompt error message. how can i do that? as i know its better and safer if i... (2 Replies)
Discussion started by: ananth4mu
2 Replies

7. 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

8. Shell Programming and Scripting

Julian date to Calendar date conversion

Hi all, I require to convert julian date to normal calander date in unix for eg julian date=122 now i want corresponding calander date ---------------------------------------- gr8 if give very small command/script and please explain the steps as well(imp) Thanks ... (3 Replies)
Discussion started by: RahulJoshi
3 Replies

9. 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

10. Shell Programming and Scripting

Calculate Julian date of a given date

How to get Julian date (Three digit) of a given date (Not current date)? I do not have root privilege - so can not use date -d. Assume that we have three variables year, month and date. Thx (5 Replies)
Discussion started by: Soham
5 Replies
GETDATE(1)                                                         User Commands                                                        GETDATE(1)

NAME
getdate - AME SYNOPSIS
[-dv][-n dec][-f format] [ra dec sys] itype2otype [date and/or time] DESCRIPTION
Convert date and time between various formats [-dv][-n dec][-f format] itype2otype @file itype: nfd=ISOFITS fd=FITS, dt=yyyy.mmdd, hr=hh:mm:ss, deg=dd:mm:ss jd=Julian Date, mjd=Modified Julian Date hjd=Heliocentric Julian Date, mhjd=Modified HJD ep=epoch, epj=Julian epoch, epb=Besselian epoch lt=local time, ut=UT, ts=seconds since 1950-01-01 now=current time, ang=fractional degrees otype: fd=FITS, dt=yyyy.mmdd, jd=Julian Date, mjd=Modified Julian Date hjd=Heliocentric Julian Date, mhjd=Modified HJD hr=hh:mm:ss, deg=dd:mm:ss, ang=fractional degrees ep=epoch, epj=Julian epoch, epb=Besselian epoch ts=seconds since 1950-01-01, tsu=Unix sec, tsi=IRAF sec gst=Greenwich Sidereal Time, lst=Local Sidereal Time @file: First one or two columns are in itype format ra dec sys: Need for Heliocentric conversions -a: Append date to input file, if there is one -d: Print date without time -e: Print output as ET/TDT/TT converting from UT -f: Format for output number (C printf) -h hours: Longitude in hours, west positive -l degrees: Longitude in degrees, west positive -n: Number of decimal places in sec, epoch, JD -t: Print time without date -v: Verbose getdate 3.8.4 June 2012 GETDATE(1)
All times are GMT -4. The time now is 07:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy