Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Date command to obtain the last month is not working correctly.. Post 302391898 by tigersk on Tuesday 2nd of February 2010 09:47:32 PM
Old 02-02-2010
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
Code:
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 returned value on 2009/12/31 was 2009 12 and not 2009 11.
When I tried it on 2010/01/31, it returned 2009 12, which is what I wanted.
So it seems if I try this command on 31 and if the previous month does not have 31, it fails to return the correct value..
This logic leads to me that it will also fail when I try it on 2010/03/29, 30, 31 because there is no 2010/02/29, 30, 31...
Is it how date command works?? What do I have to do to get the correct 'Last month' even on 31...

I really appreciate your help!

Last edited by vbe; 02-03-2010 at 05:20 AM.. Reason: rm bad tags. added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Script not working correctly

I have a simple script that I want to run every 30 minutes but only when I execute it. I don't want it to be a crontab job. so i have for example date ls -l who sleep 1800 The first time it executes correctly but after the first time it nevers execute back again. It should execute after... (2 Replies)
Discussion started by: elchalateco
2 Replies

2. Shell Programming and Scripting

if not working correctly

Anyone have an idea why this if statement does not work correctly? "test2.sh" 18 lines, 386 characters #!/usr/bin/sh WARNING=80 CRITICAL=95 check_it() { if ] || ];then echo "YES ] || ]" else echo "NO ] || ]" fi } check_it 80.1 check_it 81.1 (3 Replies)
Discussion started by: 2dumb
3 Replies

3. Shell Programming and Scripting

Use date command to find last month

#!/usr/bin/ksh Does anyone have a good way to set a variable to last month? For example, today is 20070810. I would like to use the date command to set a variable to last months %m code, which is 07. If I pluck this months value (08) and user expr to do simple math on it, it returns 7 (not... (5 Replies)
Discussion started by: Cbish68
5 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. Shell Programming and Scripting

rsync is not correctly working

We are using Red Hat linux system. I am transferring my rman backup files to another server. Here is the command i am using to transfer the files. /usr/bin/rsync -avpP --delete /xyz/xyz/ 99.99.999.99::db110bkp Here is the rsync version. >rsync --version rsync version 3.0.6 ... (1 Reply)
Discussion started by: govindts
1 Replies

7. Shell Programming and Scripting

date command not working

hi #!usr/bin/perl -w local ($date) = `/sbin/date "+%D %X" ` ; print $date when i run this in ksh shell it is giving the below error sh: /sbin/date: not found but same code is working and displaying date and time in sh shell. what could be the reason. pls help (10 Replies)
Discussion started by: psthariharan
10 Replies

8. UNIX for Dummies Questions & Answers

date command - getting previous month

Hi, On any given day, I want to capture the month that has gone by - said otherwise, how do I capture last month? expr date '+%m' - 1 Above expression is giving error. Please advise thanks ---------- Post updated at 09:28 AM ---------- Previous update was at 09:11 AM... (1 Reply)
Discussion started by: ab_2010
1 Replies

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

10. Shell Programming and Scripting

Obtain date for first Tuesday of every month

Hi , Please help me out to write a shell script to obtain the date of first tueday of every month. I am new to shell scripting. Appreciate your help Thanks. (7 Replies)
Discussion started by: prongs22
7 Replies
CHEWMAIL(1)						User Contributed Perl Documentation					       CHEWMAIL(1)

NAME
chewmail - mail archiver SYNOPSIS
chewmail [OPTIONS] <MAILBOX> ... DESCRIPTION
chewmail is a program for archiving mail. It is inspired by the by the Python-based archivemail, but with more useful semantics. All mail is archived to the mailbox specified with the --output-box switch, in mbox format. It can read mailboxes in mbox, Maildir and MH formats. Internally, chewmail uses Mail::Box, so it support file names and URLs supported by that module. OPTIONS
-o mailbox-format, --output-box=mailbox-format The mailbox to archive messages to. The mailbox is run through the Date::Format module, so it supports all it's conversion specifiers. The date and time is relative to the messages timestamp, or the current time if the timestamp is impossible to determine. A sample of the conversion specifiers follows: %% PERCENT %b month abbr %B month %d numeric day of the month, with leading zeros (eg 01..31) %e numeric day of the month, without leading zeros (eg 1..31) %D MM/DD/YY %G GPS week number (weeks since January 6, 1980) %h month abbr %H hour, 24 hour clock, leading 0's) %I hour, 12 hour clock, leading 0's) %j day of the year %k hour %l hour, 12 hour clock %L month number, starting with 1 %m month number, starting with 01 %n NEWLINE %o ornate day of month -- "1st", "2nd", "25th", etc. %t TAB %U week number, Sunday as first day of week %w day of the week, numerically, Sunday == 0 %W week number, Monday as first day of week %x date format: 11/19/94 %y year (2 digits) %Y year (4 digits) -d days-old, --days=days-old Only archive messages older than than this many days. -D date, --date=date Only archive messages old than this date. The date can be any date understood by Perl's Date::Parse module. -R, --only-read Only archive messages that are marked seen or read. --delete-immediately Synchonize the mailboxes after every message is moved. This will be substantially slower but may provide better recovery for some mail- box formats in the event of a crash. --preserve-timestamp Preserve the atime and mtime of the input mailbox. This only affects file-based mailboxes, such as mbox. -n, --dry-run Go through all the motions of archiving the mail, but don't actually change any mailboxes. -v, --verbose Output more informational messages. Use multiple times for more verbosity. -q, --quiet Don't output any messages other than error messages. -V, --version Print the version number then exit. -h, --help Print usage information then exit. EXAMPLES
Archive two day old messages in inbox to inbox-old: chewmail --days 2 -o inbox-old inbox Archive read messages to a mailbox named the year-month of the message: chewmail --only-read -o %Y-%m inbox SEE ALSO
archivemail(1), Date::Parse, Date::Format, Mail::Box AUTHOR
Eric Dorland <eric@kuroneko.ca> perl v5.8.8 2006-08-15 CHEWMAIL(1)
All times are GMT -4. The time now is 03:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy