Sponsored Content
Full Discussion: Date issue
Top Forums Shell Programming and Scripting Date issue Post 302353723 by ripat on Wednesday 16th of September 2009 03:57:02 AM
Old 09-16-2009
Hi,
Quote:
Originally Posted by duffnix
I have diffrent dates like 20150112 , 200901028 , 200100605 etc.
I will surely be dead by then! :=)

Assuming you have GNU date on your linux emulator, you can try this:


Code:
jeanluc@ibm:~/scripts/test$ cat dst.sh 
#!/bin/bash
LANG=C
while read i;do
    dte=$(date -d"$i" +%s)
    dte_dst=$(TZ=DST date -d"$i" +%s)
    if (($(($dte_dst-$dte)) == 7200));then
        echo $i "Summer Time"
    else
        echo $i "Winter Time"
    fi
done < $1

Code:
jeanluc@ibm:~/scripts/test$ cat file
20150112
20090225
20090725
20091230

jeanluc@ibm:~/scripts/test$ ./dst.sh file
20150112 Winter Time
20090225 Winter Time
20090725 Summer Time
20091230 Winter Time


Last edited by ripat; 09-16-2009 at 06:45 AM.. Reason: typo
 

10 More Discussions You Might Find Interesting

1. Programming

date issue

hi all: I want to create a new file dynamically for each day.how can i do this. eg.. struct tm tm; while(1) { if(tm.tm_hr==0 && tm.tm_min=0 && tm.tm_sec==0) { //create a new file.. ... (3 Replies)
Discussion started by: bankpro
3 Replies

2. UNIX for Advanced & Expert Users

date issue-find prevoius date in a patricular format

Hi , I have written a shell script that takes the current date on the server and stores it in a file. echo get /usr/home/data-`date '+%Y%d'`.xml> /usr/local/sandeep/GetFILE.ini I call this GetFILE.ini file from an sftp program to fetch a file from /usr/home/ as location. The file is in... (3 Replies)
Discussion started by: bsandeep_80
3 Replies

3. Shell Programming and Scripting

Simple date issue

Hi all, i have used the search already before someone shouts at me and i have seen the 'datecalc' program but this is not working correctly for me in the shell and environment i am using. I am using solaris 10 and bourne shell. I have two dates '07-04-2009' and '05-05-2009'. I just need to... (2 Replies)
Discussion started by: muay_tb
2 Replies

4. Solaris

Cron Date issue

Hi, We have Solaris10.2.3 server. If we execute command `date` on Command Line Promt it shows time - >Tue Jun 23 11:35:55 BST 2009 - which is correct However if the command is executed through cron it gives - >Tue Jun 23 10:35:55 ESTEDT 2009 - which is wrong Request you to help me in... (1 Reply)
Discussion started by: sk2304
1 Replies

5. Shell Programming and Scripting

sort date issue

Hi Everyone, # cat b Sat 12 Sep 2009 10:31:49 PM MYT;a;a;a;Sun 13 Sep 2009 11:32:49 AM MYT; Sat 13 Sep 2009 10:31:49 PM MYT;a;a;a;Mon 14 Sep 2009 10:31:49 PM MYT; Sat 14 Sep 2009 10:31:49 PM MYT;a;a;a;Sun 13 Sep 2009 10:31:49 PM MYT; # sort -t';' -k5 b Sat 13 Sep 2009 10:31:49 PM... (8 Replies)
Discussion started by: jimmy_y
8 Replies

6. Shell Programming and Scripting

date printing issue

Hello folks Below command shows current date echo `date +%Y-%m-%d` 2010-04-21 How to show one day old date, i want see like 2010-04-20 (1 Reply)
Discussion started by: learnbash
1 Replies

7. Shell Programming and Scripting

Date related issue

Hi, I have TDATE=$(date '+%b %d') That stores "Sep 01" in the TDATE. How I can store "Sep 1"? Thanks in advance (3 Replies)
Discussion started by: dipeshvshah
3 Replies

8. Shell Programming and Scripting

Simple date issue

Hi , Here is the smaller version of the problem. Working individually as command ************************>echo $SHELL /bin/bash ************************>TO_DAY=`date` ************************>echo $TO_DAY Tue Jul 16 02:28:31 EDT 2013 ************************> Not working when... (5 Replies)
Discussion started by: Anupam_Halder
5 Replies

9. Shell Programming and Scripting

Date issue

I have posted a code last week about that date format problem, well I have figured out a much lesser coding. #!/usr/bin/bash clear export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 if ; then echo " Incorrect Number of Arguments"; echo " Usage : Main_Script <FROM_DATE>... (1 Reply)
Discussion started by: Chandan_Bose
1 Replies

10. UNIX for Beginners Questions & Answers

Date issue

How to compare two input date string? What I am basically trying to get here is get file names in a directory for a particular date range. I would like to get the file data growth over a certain period of time. When below code ran I am getting error - -sh: 20190929: No such file or... (4 Replies)
Discussion started by: vedanta
4 Replies
Time::Fake(3pm) 					User Contributed Perl Documentation					   Time::Fake(3pm)

NAME
Time::Fake - Simulate different times without changing your system clock SYNOPSIS
Pretend we are running 1 day in the future: use Time::Fake '+1d'; Pretend we are running 1 year in the past: use Time::Fake '-1y'; Pretend the script started at epoch time 1234567: use Time::Fake 1234567; See what an existing script would do if run 20 years in the future: % perl -MTime::Fake="+20y" test.pl Run a section of code in a time warp: use Time::Fake; # do some setup Time::Fake->offset("+1y"); run_tests(); # thinks it's a year ahead Time::Fake->reset; # back to the present DESCRIPTION
Use this module to achieve the effect of changing your system clock, but without actually changing your system clock. It overrides the Perl builtin subs "time", "localtime", and "gmtime", causing them to return a "faked" time of your choice. From the script's point of view, time still flows at the normal rate, but it is just offset as if it were executing in the past or present. You may find this module useful in writing test scripts for code that has time-sensitive logic. USAGE
Using and importing: use Time::Fake $t; Is equivalent to: use Time::Fake; Time::Fake->offset($t); See below for arguments to "offset". This usage makes it easy to fake the time for existing scripts, as in: % perl -MTime::Fake=+1y script.pl offset Time::Fake->offset( [$t] ); $t is either an epoch time, or a relative offset of the following form: +3 # 3 seconds in the future -3s # 3 seconds in the past +1h # 1 hour in the future etc.. Relative offsets must begin with a plus or minus symbol. The supported units are: s second m minute h hour d day (24 hours) M month (30 days) y year (365 days) If $t is an epoch time, then "time", "localtime", and "gmtime" will act as though the the current time (when "offset" was called) was actually at $t epoch seconds. Otherwise, the offset $t will be added to the times returned by these builtin subs. When $t is false, "time", "localtime", "gmtime" remain overridden, but their behavior resets to reflect the actual system time. When $t is omitted, nothing is changed, but "offset" returns the current additive offset (in seconds). Otherwise, its return value is the previous offset. "offset" may be called several times. However, The effect of multiple calls is NOT CUMULATIVE. That is: Time::Fake->offset("+1h"); Time::Fake->offset("+1h"); ## same as # Time::Fake->offset("+1h"); ## NOT the same as # Time::Fake->offset("+2h"); Each call to "offset" completely cancels out the effect of any previous calls. To make the effect cumulative, use the return value of calling "offset" with no arguments: Time::Fake->offset("+1h"); ... Time::Fake->offset( Time::Fake->offset + 3600 ); # add another hour reset Time::Fake->reset; Is the same as: Time::Fake->offset(0); That is, it returns all the affected builtin subs to their default behavior -- reporing the actual system time. KNOWN CAVEATS
Time::Fake must be loaded at "BEGIN"-time (e.g., with a standard "use" statement). It must be loaded before perl compiles any code that uses "time", "localtime", or "gmtime". Due to inherent limitations in overriding builtin subs, any code that was compiled before loading Time::Fake will not be affected. Because the system clock is not being changed, only Perl code that uses "time", "localtime", or "gmtime" will be fooled about the date. In particular, the operating system is not fooled, nor are other programs. If your Perl code modifies a file for example, the file's modification time will reflect the actual (not faked) time. Along the same lines, if your Perl script obtains the time from somewhere other than the affected builtins subs (e.g., "qx/date/"), the actual (not faked) time will be reflected. Time::Fake doesn't affect -M, -A, -C filetest operators in the way you'd probably want. These still report the actual (not faked) script start time minus file access time. Time::Fake has not been tested with other modules that override the time builtins, e.g., Time::HiRes. SEE ALSO
Time::Warp, which uses XS to fool more of Perl. AUTHOR
Time::Fake is written by Mike Rosulek <mike@mikero.com>. Feel free to contact me with comments, questions, patches, or whatever. COPYRIGHT
Copyright (c) 2008 Mike Rosulek. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.12.3 2008-01-17 Time::Fake(3pm)
All times are GMT -4. The time now is 10:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy