Sponsored Content
Top Forums Shell Programming and Scripting Obtain date for first Tuesday of every month Post 302872239 by Akshay Hegde on Friday 8th of November 2013 04:24:31 AM
Old 11-08-2013
If you have ksh93 try this

Code:
$ cal 2013
                            2013
      January               February               March          
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  
       1  2  3  4  5                  1  2                  1  2  
 6  7  8  9 10 11 12   3  4  5  6  7  8  9   3  4  5  6  7  8  9  
13 14 15 16 17 18 19  10 11 12 13 14 15 16  10 11 12 13 14 15 16  
20 21 22 23 24 25 26  17 18 19 20 21 22 23  17 18 19 20 21 22 23  
27 28 29 30 31        24 25 26 27 28        24 25 26 27 28 29 30  
                                            31                    

       April                  May                   June          
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  
    1  2  3  4  5  6            1  2  3  4                     1  
 7  8  9 10 11 12 13   5  6  7  8  9 10 11   2  3  4  5  6  7  8  
14 15 16 17 18 19 20  12 13 14 15 16 17 18   9 10 11 12 13 14 15  
21 22 23 24 25 26 27  19 20 21 22 23 24 25  16 17 18 19 20 21 22  
28 29 30              26 27 28 29 30 31     23 24 25 26 27 28 29  
                                            30                    

        July                 August              September        
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  
    1  2  3  4  5  6               1  2  3   1  2  3  4  5  6  7  
 7  8  9 10 11 12 13   4  5  6  7  8  9 10   8  9 10 11 12 13 14  
14 15 16 17 18 19 20  11 12 13 14 15 16 17  15 16 17 18 19 20 21  
21 22 23 24 25 26 27  18 19 20 21 22 23 24  22 23 24 25 26 27 28  
28 29 30 31           25 26 27 28 29 30 31  29 30                 
                                                                  

      October               November              December        
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  
       1  2  3  4  5                  1  2   1  2  3  4  5  6  7  
 6  7  8  9 10 11 12   3  4  5  6  7  8  9   8  9 10 11 12 13 14  
13 14 15 16 17 18 19  10 11 12 13 14 15 16  15 16 17 18 19 20 21  
20 21 22 23 24 25 26  17 18 19 20 21 22 23  22 23 24 25 26 27 28  
27 28 29 30 31        24 25 26 27 28 29 30  29 30 31

Code:
$ cat First_Tuesday_In_Month.sh 
#!/bin/ksh
Year=2013

for i in {0..11}; do
    for j in {0..6}; do
    date=$(date -d"$((Year-1))1231 $j day $i month" +"%w %F")
    if [ ${date:0:1} -eq 2 ]; then
           echo ${date:2}
    fi
    done
done

Code:
$ ksh First_Tuesday_In_Month.sh 
2013-01-01
2013-02-05
2013-03-05
2013-04-02
2013-05-07
2013-06-04
2013-07-02
2013-08-06
2013-09-03
2013-10-01
2013-11-05
2013-12-03

@ pravin27 you are printing date of every monday...Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

CRONTAB: Every second Tuesday of the month

Morning everyone. You'll need to excuse me for I'm running a little empty this morning. Need to execute a job every second Tuesday of the month. Am I correct in my understanding that this isn't possible directly from crontab & hence I'll need to script. Does anyone have any similar solutions ?... (2 Replies)
Discussion started by: Cameron
2 Replies

2. Shell Programming and Scripting

Pass the first date and last date of previous month

Hi All, I need to run a job every month at the beginning of the month which is scheduled through autosys, lets say on 03/01/2010. I need to pass the last month's i.e February's first_date = 02/01/2010 and last_date = 02/28/2010 as variables to a stored procedure. Can somebody please pass... (2 Replies)
Discussion started by: vigdmab
2 Replies

3. UNIX for Dummies Questions & Answers

Date command to obtain the last month is not working correctly..

Hello, I could not find the exactly same post here.. so I will explain what I did to get the last month using date command. I used date +%Y-%m -d "-1 months" to get the last month. However, the returned value of above command on 2009/10/31 was 2009 10 and not 2009 09.. and the... (9 Replies)
Discussion started by: tigersk
9 Replies

4. UNIX for Dummies Questions & Answers

print previous month (current month minus 1) with Solaris date and ksh

Hi folks month=`date +%m`gives current month Howto print previous month (current month minus 1) with Solaris date and ksh (7 Replies)
Discussion started by: slashdotweenie
7 Replies

5. Shell Programming and Scripting

how to obtain date and day of the week from `date` command

Hi, does anybody know how to format `date` command correctly to return the day of the week? Thanks -A I work in ksh.... (1 Reply)
Discussion started by: aoussenko
1 Replies

6. UNIX for Dummies Questions & Answers

Can we get every tuesday or monday's date for the current week

Hi Can we get every tuesday or monday's date for the current week ? For the current week i need tuesday's date or monday's date in %m%d%y fromat Thanks (5 Replies)
Discussion started by: laxmi131
5 Replies

7. Shell Programming and Scripting

How to obtain a day of the week from the date?

I have a date in format YYYYMMDD, i need to get the day of the week from the given date. I am working in AIX system. ---------- Post updated at 09:59 AM ---------- Previous update was at 09:57 AM ---------- Tried to post sum of the thread's link from which i tried, but de rules didnt allow me... (9 Replies)
Discussion started by: baranisachin
9 Replies

8. Shell Programming and Scripting

Help with getting last date of previous month and first date of previous 4th month from current date

I have requirment to get last date of previous month and the first date of previous 4th month: Example: Current date: 20130320 (yyyymmdd) Last date of previous month: 20130228 (yyyymmdd) First date of previous 4th month: 20121101 (yyyymmdd) In my shell --date, -d, -v switches are not... (3 Replies)
Discussion started by: machomaddy
3 Replies

9. Shell Programming and Scripting

Can we get Tuesday's date of the current week in UNIX

Hi All, I have a requirement which would calculate the Tuesday's date of the current week in yyyymmdd format in unix shell script. Please help me out how could I do this . I appreciate your help Regards, raj (7 Replies)
Discussion started by: rajeevm
7 Replies

10. UNIX for Beginners Questions & Answers

How bash treats literal date value and retrieve year, month and date?

Hi, I am trying to add few (say 3 days) to sysdate using - date -d '+ 3 days' +%y%m%d and it works as expected. But how to add few (say 3 days) to a literal date value and how bash treats a literal value as a date. Can we say just like in ORACLE TO_DATE that my given literal date value... (2 Replies)
Discussion started by: pointers1234
2 Replies
INTLCALENDAR.GETSKIPPEDWALLTIMEOPTION(3)				 1				  INTLCALENDAR.GETSKIPPEDWALLTIMEOPTION(3)

IntlCalendar::getSkippedWallTimeOption - Get behavior for handling skipped wall time

	Object oriented style

SYNOPSIS
public int IntlCalendar::getSkippedWallTimeOption (void ) DESCRIPTION
Procedural style int intlcal_get_skipped_wall_time_option (IntlCalendar $cal) Gets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST. The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error. This function requires ICU 4.9 or later. PARAMETERS
o $cal - The IntlCalendar resource. RETURN VALUES
One of the constants IntlCalendar::WALLTIME_FIRST, IntlCalendar::WALLTIME_LAST or IntlCalendar::WALLTIME_NEXT_VALID. EXAMPLES
Example #1 IntlCalendar.getSkippedWallTimeOption(3) <?php ini_set('date.timezone', 'Europe/Lisbon'); ini_set('intl.default_locale', 'en_US'); ini_set('intl.error_level', E_WARNING); //On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01 $cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30); var_dump( $cal->isLenient(), // true $cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST ); $formatter = IntlDateFormatter::create( NULL, IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'UTC' ); var_dump($formatter->format($cal->getTime() / 1000)); $cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST); var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST $cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); var_dump($formatter->format($cal->getTime() / 1000)); $cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID); var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID $cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); var_dump($formatter->format($cal->getTime() / 1000)); The above example will output: bool(true) int(0) string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT" int(1) string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT" int(2) string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT" SEE ALSO
IntlCalendar::getRepeatedWallTimeOption, IntlCalendar::setSkippedWallTimeOption, IntlCalendar::setRepeatedWallTimeOption. PHP Documentation Group INTLCALENDAR.GETSKIPPEDWALLTIMEOPTION(3)
All times are GMT -4. The time now is 06:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy