Sponsored Content
Top Forums UNIX for Dummies Questions & Answers How to find second and fourth Monday of the month? Post 302948575 by Prathmesh on Tuesday 30th of June 2015 01:24:54 PM
Old 06-30-2015
Quote:
Originally Posted by RudiC
That's because the algorithm assigns day 7 to the second week already, which is the case for the second Monday of September and December, 2015. On top, the empty lines are due to invalid dates for months that dont have a 31., or 29., 30., 31. for February. And, DATE and dayofmonth hold identical values. Try the modified script:
Code:
YEAR=2015
for MONTH in $(seq -w 1 12) 
  do for DATE in $(seq -w 1 31)
    do dayofweek=$(date -d"${YEAR}${MONTH}${DATE}" +%w)
       [ $? == 0 ] || continue
       weekofmonth=$(( 1 + (10#$DATE - 1) / 7 ))
       if [ $dayofweek -ne 1 -o \( $weekofmonth -ne 2 -a $weekofmonth -ne 4 \) ]
         then continue
         else MONDAY_DATE=`date -d"${YEAR}${MONTH}${DATE}" +%d.%m.%Y`
              echo "$MONDAY_DATE"
       fi
    done
  done

Thanks RudiC.
Can you please advise how are you coming up with the value 10 in below code? Basically, I want to understand the thought process while selecting the value, so the logic will be clear and will help in long run.
Code:
weekofmonth=$(( 1 + (10#$DATE - 1) / 7 ))

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Crontab First Monday of Month only

Is there a way to setup a cronjob that will only run on the first monday of the month? (3 Replies)
Discussion started by: molonede
3 Replies

2. Shell Programming and Scripting

Find all files by month

Hi, I am trying to do achieving of files by months. find /test -name \*.* -mtime +30 will give me the result of all modified files after 30 days. But lets say i want to list all files that is modified in last months... what is the command to do it? Thanks! (13 Replies)
Discussion started by: maldini
13 Replies

3. Shell Programming and Scripting

how can i find the third friday of each month?

Help please! I need to read the calendar and put the date of the third Friday of each month into a variable for comparison in an "if" statement. How would I do this? Thnx, leslie02 (10 Replies)
Discussion started by: leslie02
10 Replies

4. UNIX for Dummies Questions & Answers

find out month from a date

I would like to find out the month from a given date, how is it possible. (5 Replies)
Discussion started by: rudoraj
5 Replies

5. UNIX for Dummies Questions & Answers

I wanted to get the date of the first monday of a month.

Hi, I need to display the date of the first monday of a month. Can any one please help me on this. Thanks in advance. (6 Replies)
Discussion started by: Sheethal
6 Replies

6. UNIX for Dummies Questions & Answers

cron script -run every 2nd day of month except Monday

I know I can't schedule this in cron and would have to write a wrapper around my script and schedule it in cron ....but not sure how do to this? How do I exclude Monday if the 2nd day of the month falls on a Monday? Thanks. I tried this: 0 0 2 * 0,2-6 command And I know this doesnt... (2 Replies)
Discussion started by: newtou
2 Replies

7. UNIX for Advanced & Expert Users

Crontab For First Monday Of Every Month!!

Hi, Could any one please let me know the crontab entry for scheduling a job for every first monday of the month? Thank You in advance, Sue (2 Replies)
Discussion started by: pyaranoid
2 Replies

8. HP-UX

How to find a file created in UNIX every monday.???

Hi All Any one please suggest me... I have one directory every monday one file will be created in that directory. so if the file is created on monday or not i need check first. How can write a script??? if the file is not created i want to quit from script. Thanks K.Srinivas (5 Replies)
Discussion started by: k_s_rao7
5 Replies

9. UNIX for Advanced & Expert Users

How to find last two files for a month?

Hi All, I need to find last two files for the month. lets say there are following files in directory -rwxr-xr-x 1 user userg 1596 Mar 19 15:43 c.txt -rwxr-xr-x 1 user userg 1596 Mar 21 15:43 d.txt -rwxr-xr-x 1 user userg 1596 Mar 22 15:43 f.txt -rwxr-xr-x 1... (14 Replies)
Discussion started by: Makarand Dodmis
14 Replies

10. Shell Programming and Scripting

Find one month before date

Hi, I want two dates one will be the current date and the other one will be just one month before. Say if current month is 11/4/2014 then the other date should be 11/3/2014. #!/bin/ksh currentDtae=`date` oneMonthBefore= ? I dont know how to do it. Went through some of the related threads... (15 Replies)
Discussion started by: Sharma331
15 Replies
NL_LANGINFO(3)						   BSD Library Functions Manual 					    NL_LANGINFO(3)

NAME
nl_langinfo -- get locale information LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <langinfo.h> char * nl_langinfo(nl_item item); DESCRIPTION
The nl_langinfo() function returns a pointer to a string containing information set by the program's locale. The names and values of item are defined in <langinfo.h>. The entries under Category indicate in which setlocale(3) category each item is defined. Constant Category Meaning CODESET LC_CTYPE Codeset name D_T_FMT LC_TIME String for formatting date and time D_FMT LC_TIME Date format string T_FMT LC_TIME Time format string T_FMT_AMPM LC_TIME A.M. or P.M. time format string AM_STR LC_TIME Ante-meridiem affix PM_STR LC_TIME Post-meridiem affix DAY_1 LC_TIME Name of the first day of the week (e.g.: Sunday) DAY_2 LC_TIME Name of the second day of the week (e.g.: Monday) DAY_3 LC_TIME Name of the third day of the week (e.g.: Tuesday) DAY_4 LC_TIME Name of the fourth day of the week (e.g.: Wednesday) DAY_5 LC_TIME Name of the fifth day of the week (e.g.: Thursday) DAY_6 LC_TIME Name of the sixth day of the week (e.g.: Friday) DAY_7 LC_TIME Name of the seventh day of the week (e.g.: Saturday) ABDAY_1 LC_TIME Abbreviated name of the first day of the week ABDAY_2 LC_TIME Abbreviated name of the second day of the week ABDAY_3 LC_TIME Abbreviated name of the third day of the week ABDAY_4 LC_TIME Abbreviated name of the fourth day of the week ABDAY_5 LC_TIME Abbreviated name of the fifth day of the week ABDAY_6 LC_TIME Abbreviated name of the sixth day of the week ABDAY_7 LC_TIME Abbreviated name of the seventh day of the week MON_1 LC_TIME Name of the first month of the year MON_2 LC_TIME Name of the second month MON_3 LC_TIME Name of the third month MON_4 LC_TIME Name of the fourth month MON_5 LC_TIME Name of the fifth month MON_6 LC_TIME Name of the sixth month MON_7 LC_TIME Name of the seventh month MON_8 LC_TIME Name of the eighth month MON_9 LC_TIME Name of the ninth month MON_10 LC_TIME Name of the tenth month MON_11 LC_TIME Name of the eleventh month MON_12 LC_TIME Name of the twelfth month ABMON_1 LC_TIME Abbreviated name of the first month ABMON_2 LC_TIME Abbreviated name of the second month ABMON_3 LC_TIME Abbreviated name of the third month ABMON_4 LC_TIME Abbreviated name of the fourth month ABMON_5 LC_TIME Abbreviated name of the fifth month ABMON_6 LC_TIME Abbreviated name of the sixth month ABMON_7 LC_TIME Abbreviated name of the seventh month ABMON_8 LC_TIME Abbreviated name of the eighth month ABMON_9 LC_TIME Abbreviated name of the ninth month ABMON_10 LC_TIME Abbreviated name of the tenth month ABMON_11 LC_TIME Abbreviated name of the eleventh month ABMON_12 LC_TIME Abbreviated name of the twelfth month ERA LC_TIME Era description segments ERA_D_FMT LC_TIME Era date format string ERA_D_T_FMT LC_TIME Era date and time format string ERA_T_FMT LC_TIME Era time format string ALT_DIGITS LC_TIME Alternative symbols for digits RADIXCHAR LC_NUMERIC Radix character THOUSEP LC_NUMERIC Separator for thousands YESEXPR LC_MESSAGES Affirmative response expression NOEXPR LC_MESSAGES Negative response expression RETURN VALUES
nl_langinfo() returns a pointer to an empty string if item is invalid. EXAMPLES
The following example uses nl_langinfo() to obtain the date and time format for the current locale: #include <time.h> #include <langinfo.h> #include <locale.h> int main(void) { char datestring[100]; struct tm *tm; time_t t; char *ptr; t = time(NULL); tm = localtime(&t); (void)setlocale(LC_ALL, ""); ptr = nl_langinfo(D_T_FMT); strftime(datestring, sizeof(datestring), ptr, tm); printf("%s ", datestring); return (0); } SEE ALSO
setlocale(3), tm(3), nls(7) STANDARDS
The nl_langinfo() function conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
The nl_langinfo() function appeared in NetBSD 1.0. BSD
April 14, 2011 BSD
All times are GMT -4. The time now is 03:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy