Sponsored Content
Top Forums Shell Programming and Scripting Convert date into days using shell script Post 302901887 by tukuyomi on Friday 16th of May 2014 08:24:23 AM
Old 05-16-2014
With GNU date, you can do something like this, in sh or bash:
Code:
#!/bin/sh

# Past date in seconds since Epoch
past=$(date +%s --date "12/02/2013 11:21")

# Now in seconds since Epoch
now=$(date +%s)

# Interval in seconds -- 30 days in this case
interval=$((30*86400)) #86400 seconds per day

if [ "$((now-past))" -gt "$interval" ]; then x='more'; else x='less'; fi

printf '%s\n' "Past date is $x than 30 days"

exit 0

This User Gave Thanks to tukuyomi For This Post:
 

10 More Discussions You Might Find Interesting

1. AIX

convert date in lilian format for shell (AIX)

hello ! can so help me ? i'm writting a shell srcipt ( UNIX AIX) and I'd like to convert a date as 20041108 in lilian format. thanks so much (2 Replies)
Discussion started by: chocolate
2 Replies

2. UNIX for Dummies Questions & Answers

script to convert absolute date

Hi , I have a csv file and column 1 is date in the cursed YYYY-M-D format. Is there any way to convert 1st column to an absolute date say using 1977-1-1 as day 1? Thanks a lot. (2 Replies)
Discussion started by: onthetopo
2 Replies

3. Shell Programming and Scripting

date for two days or 3 days ago

i need a script that can tell me the date 2 days ago or 3 days ago. please help (7 Replies)
Discussion started by: tomjones
7 Replies

4. Shell Programming and Scripting

Calculate 30/31 days from today date script

Hi Guys, I was working some time ago n was in need to calculate date 30/31 days from today including Feb (Leap yr stuff). Today date is variable depending on day of execution of script. I tried searching but was not able to get exactly what I needed....So at that I time I implemented by my own... (3 Replies)
Discussion started by: coolgoose85
3 Replies

5. AIX

Convert string to date in script

Hi, How can I convert a string "Jul 10 09" to date in aix? the output can be like 20090710. Thanks. (4 Replies)
Discussion started by: Gbyte
4 Replies

6. Windows & DOS: Issues & Discussions

Adding or subtracting days from current date in batch script

Hi, I'm writing an batch file to create report In the batch file iam passing two arguments:startdate and finishdate Ex: startdate=07-sep-2009 finishdate=07-sep-2011 I need to have script that takes command line argument as input and gives me out currentdate last year and current date... (2 Replies)
Discussion started by: anand1773
2 Replies

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

8. Shell Programming and Scripting

Substracting days from current date(K shell script)

Hi, I want to subtract 'n' days from the current timestamp in a k shell script. Is there any inbuilt function to do it or any workaround solution to get the date. And I want the output to be in YYYY:MM:DD HH:MM:SS format. Please help. Thanks in advance. (4 Replies)
Discussion started by: Suryaaravindh
4 Replies

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

10. Shell Programming and Scripting

Convert string to date and add 20 days

Hi, I have a requirement where I am getting date in string format (20161130). I need to add 20 days(not no. 20) to the above string. The o/p should 20161220. In case of 20170228, it should show 20170320. Could you please help me with the command to achieve this. Note: I am using AIX 7.1... (5 Replies)
Discussion started by: satyaatcgi
5 Replies
Image::ExifTool::Shift(3)				User Contributed Perl Documentation				 Image::ExifTool::Shift(3)

NAME
Image::ExifTool::Shift.pl - ExifTool time shifting routines DESCRIPTION
This module contains routines used by ExifTool to shift date and time values. DETAILS
Time shifts are applied to standard EXIF-formatted date/time values (ie. "2005:03:14 18:55:00"). Date-only and time-only values may also be shifted, and an optional timezone (ie. "-05:00") is also supported. Here are some general rules and examples to explain how shift strings are interpreted: Date-only values are shifted using the following formats: 'Y:M:D' - shift date by 'Y' years, 'M' months and 'D' days 'M:D' - shift months and days only 'D' - shift specified number of days Time-only values are shifted using the following formats: 'h:m:s' - shift time by 'h' hours, 'm' minutes and 's' seconds 'h:m' - shift hours and minutes only 'h' - shift specified number of hours Timezone shifts are specified in the following formats: '+h:m' - shift timezone by 'h' hours and 'm' minutes '-h:m' - negative shift of timezone hours and minutes '+h' - shift timezone hours only '-h' - negative shift of timezone hours only A valid shift value consists of one or two arguments, separated by a space. If only one is provided, it is assumed to be a time shift when applied to a time-only or a date/time value, or a date shift when applied to a date-only value. For example: '7' - shift by 1 hour if applied to a time or date/time value, or by one day if applied to a date value '2:0' - shift 2 hours (time, date/time), or 2 months (date) '5:0:0' - shift 5 hours (time, date/time), or 5 years (date) '0:0:1' - shift 1 s (time, date/time), or 1 day (date) If two arguments are given, the date shift is first, followed by the time shift: '3:0:0 0' - shift date by 3 years '0 15:30' - shift time by 15 hours and 30 minutes '1:0:0 0:0:0+5:0' - shift date by 1 year and timezone by 5 hours A date shift is simply ignored if applied to a time value or visa versa. Numbers specified in shift fields may contain a decimal point: '1.5' - 1 hour 30 minutes (time, date/time), or 1 day (date) '2.5 0' - 2 days 12 hours (date/time), 12 hours (time) or 2 days (date) And to save typing, a zero is assumed for any missing numbers: '1::' - shift by 1 hour (time, date/time) or 1 year (date) '26:: 0' - shift date by 26 years '+:30 - shift timezone by 30 minutes Below are some specific examples applied to real date and/or time values ('Dir' is the applied shift direction: '+' is positive, '-' is negative): Original Value Shift Dir Shifted Value --------------------- ------- --- --------------------- '20:30:00' '5' + '01:30:00' '2005:01:27' '5' + '2005:02:01' '11:54:00' '2.5 0' - '23:54:00' '2005:11:02' '2.5 0' - '2005:10:31' '2005:11:02 11:54:00' '2.5 0' - '2005:10:30 23:54:00' '2004:02:28 08:00:00' '1 1.3' + '2004:02:29 09:18:00' '07:00:00' '-5' + '07:00:00' '07:00:00+01:00' '-5' + '07:00:00-04:00' '07:00:00Z' '+2:30' - '07:00:00-02:30' '1970:01:01' '35::' + '2005:01:01' '2005:01:01' '400' + '2006:02:05' '10:00:00.00' '::1.33' + '09:59:58.67' NOTES
The format of the original date/time value is not changed when the time shift is applied. This means that the length of the date/time string will not change, and only the numbers in the string will be modified. The only exception to this rule is that a 'Z' timezone is changed to '+00:00' notation if a timezone shift is applied. A timezone will not be added to the date/time string. TRICKY
This module is perhaps more complicated than it needs to be because it is designed to be very flexible in the way time shifts are specified and applied... The ability to shift dates by Y years, M months, etc, is somewhat contradictory to the goal of maintaining a constant shift for all time values when applying a batch shift. This is because shifting by 1 month can be equivalent to anything from 28 to 31 days, and 1 year can be 365 or 366 days, depending on the starting date. The inconsistency is handled by shifting the first tag found with the actual specified shift, then calculating the equivalent time difference in seconds for this shift and applying this difference to subsequent tags in a batch conversion. So if it works as designed, the behaviour should be both intuitive and mathematically correct, and the user shouldn't have to worry about details such as this (in keeping with Perl's "do the right thing" philosophy). AUTHOR
Copyright 2003-2010, Phil Harvey (phil at owl.phy.queensu.ca) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Image::ExifTool(3pm) perl v5.12.1 2010-01-04 Image::ExifTool::Shift(3)
All times are GMT -4. The time now is 08:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy