Visit Our UNIX and Linux User Community


date program in ksh


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users date program in ksh
# 1  
Old 08-28-2001
Lightbulb date program in ksh

Code:
#Author :  kkodava
#!/usr/bin/ksh
#Use of this program is You can findout the no of days & day of starting and ending dates 
#usage no_of_days startdate<yyyymmdd>  enddate<yyyymmdd>
syy=`echo $1|cut -c1-4`
smm=`echo $1|cut -c5-6`
sdd=`echo $1|cut -c7-8`

eyy=`echo $2|cut -c1-4`
emm=`echo $2|cut -c5-6`
edd=`echo $2|cut -c7-8`

tyy=`date +%Y`
tmm=`date +%m`
tdd=`date +%d`
aa=`date +%Ou`
kk=$aa
d[1]='Monday'
d[2]='Tuesday'
d[3]='Wednesday'
d[4]='Thursday'
d[5]='Friday'
d[6]='Saturday'
d[7]='Sunday'


sjdt=`expr \( 1461 \* \( $syy + 4800 + \( $smm - 14 \) / 12 \) \) / 4 + \( 367 \* \( $smm - 2 - 12 \* \( \( $smm - 14 \) / 12 \) \) \) / 12 - \( 3 \* \( \( $syy + 4900 + \( $smm - 14 \) / 12 \) / 100 \) \) / 4 + $sdd - 32075`

ejdt=`expr \( 1461 \* \( $eyy + 4800 + \( $emm - 14 \) / 12 \) \) / 4 + \( 367 \* \( $emm - 2 - 12 \* \( \( $emm - 14 \) / 12 \) \) \) / 12 - \( 3 \* \( \( $eyy + 4900 + \( $emm - 14 \) / 12 \) / 100 \) \) / 4 + $edd - 32075`

tjdt=`expr \( 1461 \* \( $tyy + 4800 + \( $tmm - 14 \) / 12 \) \) / 4 + \( 367 \* \( $tmm - 2 - 12 \* \( \( $tmm - 14 \) / 12 \) \) \) / 12 - \( 3 \* \( \( $tyy + 4900 + \( $tmm - 14 \) / 12 \) / 100 \) \) / 4 + $tdd - 32075`


nod=`expr $ejdt - $sjdt`

nod1=`expr $tjdt - $sjdt`

nod2=`expr $tjdt - $ejdt`

n1=`date +%Ou`

if [ $nod1 -lt 0 ]
then
	nod1=`expr $nod1 \* -1`
	nod1=`expr $nod1 % 7`

	while [ $nod1 -gt 0 ]
	do 
		nod1=`expr $nod1 - 1`
		n1=`expr $n1 + 1`

		if [ $n1 -gt 7 ] 
		then
			n1=1
		fi
	done
fi

if [ $nod1 -gt 0 ]
then
	nod1=`expr $nod1 % 7`

	while [ $nod1 -gt 0 ]
	do 
		nod1=`expr $nod1 - 1`
		n1=`expr $n1 - 1`

		if [ $n1 -eq 0 ] 
		then
			n1=7
		fi
	done
fi

n2=`date +%Ou`

if [ $nod2 -lt 0 ]
then
	nod2=`expr $nod2 \* -1`
	nod2=`expr $nod2 % 7`

	while [ $nod2 -gt 0 ]
	do 
		nod2=`expr $nod2 - 1`
		n2=`expr $n2 + 1`

		if [ $n2 -gt 7 ] 
		then
			n2=1
		fi
	done
fi

if [ $nod2 -gt 0 ]
then
	nod2=`expr $nod2 % 7`

	while [ $nod2 -gt 0 ]
	do 
		nod2=`expr $nod2 - 1`
		n2=`expr $n2 - 1`

		if [ $n2 -eq 0 ] 
		then
			n2=7
		fi
	done
fi

echo start_date : $1 ${d[n1]} + $nod days = end_date : $2 ${d[n2]}

added code tags for readability --oombera

Last edited by oombera; 02-20-2004 at 11:25 AM..
# 2  
Old 08-30-2001
If this is meant to be ksh shell script then why are you using the old and messy backquotes instead $() and expr instead of $(())?

Previous Thread | Next Thread
Test Your Knowledge in Computers #426
Difficulty: Medium
JavaScript uses prototypes where many other object-oriented languages use classes for inheritance.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Print start date to end date, given $1 & $2 in ksh

Dear all, I have an user passing 2 parameter 31/03/2015 and 02/04/2015 to a ksh script. How to print the start date to end date. Expected output is : 31/03/2015 01/04/2015 02/04/2015 Note : 1. Im using aix and ksh 2. I have tried to convert the given input into a date, didnt... (0 Replies)
Discussion started by: mr.rajaravi
0 Replies

2. UNIX for Dummies Questions & Answers

Unable to convert date into no. using date -d +%s syntax in ksh shell

hi friends, I m trying to write a script which compares to dates. for this i am converting dates into no using synatx as below v2=`date | awk '{print $2,$3,$4}'` v3=`date +%s -d "$v2"` this syntax is working in bash shell ,but fails in ksh shell. please suggest on this. (12 Replies)
Discussion started by: Jcpratap
12 Replies

3. Shell Programming and Scripting

ksh program

Hi, I have a text file with multiple sql statements in which I have pick only the below select update and delete statements and do print as given below. All the select,update,delete statements will be as same as ( subquery with ().all statements ending with ; ) the examples given below. 1)... (19 Replies)
Discussion started by: manasa_vs
19 Replies

4. Shell Programming and Scripting

ksh compare dates INSIDE a file (ie date A is > date B)

In KSH, I am pasting 2 almost identical files together and each one has a date and time on each line. I need to determine if the first instance of the date/time is greater than the 2nd instance of the date/time. If the first instance is greater, I just need to echo that line. I thought I would... (4 Replies)
Discussion started by: right_coaster
4 Replies

5. Shell Programming and Scripting

How to Get 60 days Old date from current date in KSH script

Hi i am writing a cron job. so for it i need the 60 days old date form current date in variable. Like today date is 27 jan 2011 then output value will be stote in variable in formet Nov 27. i am using EST date, and tried lot of solution and see lot of post but it did not helpful for me. so... (3 Replies)
Discussion started by: Himanshu_soni
3 Replies

6. Shell Programming and Scripting

convert ksh to C program

Hi Guys...is there a way to convert a .ksh script to .C program..? (3 Replies)
Discussion started by: aggars
3 Replies

7. Shell Programming and Scripting

want to get previous date from date command in ksh

I want to get previous date from date command. I am using ksh shell. Exmp: today is 2008.09.04 I want the result : 2008.09.03 Please help. Thanks in advance. (4 Replies)
Discussion started by: rinku
4 Replies

8. Shell Programming and Scripting

grep within ksh program

Hi, is there problem with grep command when using ksh? I had the below command: /usr/bin/grep \""$Mon $NewDD\"" /tmp/timemanager/intlog.$$ >> /tmp/timemanager/log.$$ 2>/dev/null when I run ksh in debug mode, this command can not grep anything even the data is in the file. + /usr/bin/grep... (3 Replies)
Discussion started by: cin2000
3 Replies

9. Shell Programming and Scripting

ksh program with password

Hi, I am looking for a way to utilize password when the ksh program is launched. What's the standard or best way to do it? Thanks for your help! (5 Replies)
Discussion started by: cin2000
5 Replies

10. Programming

parameters from my program in c to a .ksh script

hi.. this is my question: it is possible transfer parameters from my program written in C to a .ksh script? how can i do it? i have a program in C, what is called from a .ksh script, and i need what the C program returns some values (parameters) please, help me - any idea thanks ... (2 Replies)
Discussion started by: DebianJ
2 Replies

Featured Tech Videos