10-25-2013
Bug noted, thank you a lot, I had --date "something" when I should have done --date="something".
Thanks for reminding me about the +syntax feature, which I'd planned but forgotten.
Date math is not hard here, I am letting mktime handle absolutely everything tricky. I do not need to know when the next leap year is, I subtract 1 from the 'year' value and let mktime decide what that is.
Yes yes I know that Perl has about 37 different date modules I could be using. But if I'm going to tell someone to install 'Perl::MyFavoriteDateModule' I might as well just tell them to install GNU date. The whole point is to not do that, (and to show elegant Perl code is possible without including the kitchen sink).
Some of those tests are just weird though. I have no idea how you got 23 hours from subtracting days, it certainly doesn't happen here. I may have done something odd with a last-minute fix when I posted. [edit] Now I know. It happened because of the --date vs --date= problem. Perl does strange things when you do arithmetic on strings.
Anyway, I'll incorporate your suggestions and repost. Thanks again. [edit] Version 2 is now in the OP.
Last edited by Corona688; 10-25-2013 at 06:57 PM..
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Does anyone have any scripts or suggestions on a general purpose Unix/Linux monitoring tool? (5 Replies)
Discussion started by: darthur
5 Replies
2. UNIX for Dummies Questions & Answers
whats the purpose of the following script? who could run it? To what is the script refering that exceeds 75%? The mailbox?
What does sed 's/%//' do? (1 Reply)
Discussion started by: vrn
1 Replies
3. Shell Programming and Scripting
Status quo is, within a web application, which is coded completely in php (not by me, I dont know php), I have to fill out several fields, and execute it manually by clicking the "go" button in my browser, several times a day.
Thats because:
The script itself pulls data (textfiles) from a... (3 Replies)
Discussion started by: lowmaster
3 Replies
4. Shell Programming and Scripting
I have two files
(___ represents blanks)
Foo1
1000 345 456
1001 876 908
1002 ___ 786
1003 643 908
1004 345 234
and Foo2
1000 345
1001 876
1002 111
1003 643
1004 345 (3 Replies)
Discussion started by: garethsays
3 Replies
5. Shell Programming and Scripting
Hello everyone
I am new to this forum
I am working on a project and needed a test script to fill up a disk partition /tmp/data to see how the program fails.
The system I am working on is a redhat 5.3.
Is there anything out there?
Thanks. (10 Replies)
Discussion started by: dp100022
10 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I am new for unix and I am following ABS guide. What is the purpose of - (hypen ) in the below command and What it will do in this?. Can anyone explain it in detail. Rest of the things in the below command I understood somewhat.
(cd /source/directory && tar cf - . ) | (cd /dest/directory &&... (1 Reply)
Discussion started by: gwgreen1
1 Replies
7. Shell Programming and Scripting
I have file listed like below
-rw-r--r--+ 1 test test 17M Nov 26 14:43 test1.gz
-rw-r--r--+ 1 test test 0 Nov 26 14:44 test2.gz
-rw-r--r--+ 1 test test 0 Nov 27 10:41 test3.gz
-rw-r--r--+ 1 test test 244K Nov 27 10:41 test4.gz
-rw-r--r--+ 1 test test 17M Nov 27 10:41 test5.gz
I... (5 Replies)
Discussion started by: krish2014
5 Replies
8. UNIX for Beginners Questions & Answers
I've been kicking this around for a while now, I might as well post it here.
v0.0.9, now properly supporting self-closing tags.
v0.0.8, an important quoting fix and a minor change which should handle special <? <!-- etc. tags without seizing up as often. Otherwise the code hasn't changed much.... (6 Replies)
Discussion started by: Corona688
6 Replies
GMMKTIME(3) 1 GMMKTIME(3)
gmmktime - Get Unix timestamp for a GMT date
SYNOPSIS
int gmmktime ([int $hour = gmdate("H")], [int $minute = gmdate("i")], [int $second = gmdate("s")], [int $month = gmdate("n")], [int
$day = gmdate("j")], [int $year = gmdate("Y")], [int $is_dst = -1])
DESCRIPTION
Identical to mktime(3) except the passed parameters represents a GMT date. gmmktime(3) internally uses mktime(3) so only times valid in
derived local time can be used.
Like mktime(3), arguments may be left out in order from right to left, with any omitted arguments being set to the current corresponding
GMT value.
PARAMETERS
o $hour
- The number of the hour relative to the start of the day determined by $month, $day and $year. Negative values reference the hour
before midnight of the day in question. Values greater than 23 reference the appropriate hour in the following day(s).
o $minute
- The number of the minute relative to the start of the $hour. Negative values reference the minute in the previous hour. Values
greater than 59 reference the appropriate minute in the following hour(s).
o $second
- The number of seconds relative to the start of the $minute. Negative values reference the second in the previous minute. Values
greater than 59 reference the appropriate second in the following minute(s).
o $month
- The number of the month relative to the end of the previous year. Values 1 to 12 reference the normal calendar months of the
year in question. Values less than 1 (including negative values) reference the months in the previous year in reverse order, so 0
is December, -1 is November, etc. Values greater than 12 reference the appropriate month in the following year(s).
o $day
- The number of the day relative to the end of the previous month. Values 1 to 28, 29, 30 or 31 (depending upon the month) refer-
ence the normal days in the relevant month. Values less than 1 (including negative values) reference the days in the previous
month, so 0 is the last day of the previous month, -1 is the day before that, etc. Values greater than the number of days in the
relevant month reference the appropriate day in the following month(s).
o $year
- The year
o $is_dst
- Parameters always represent a GMT date so $is_dst doesn't influence the result.
Note
This parameter has been removed in PHP 7.0.0.
RETURN VALUES
Returns a integer Unix timestamp.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 7.0.0 | |
| | |
| | $is_dst parameter has been removed. |
| | |
| 5.1.0 | |
| | |
| | As of PHP 5.1.0, the $is_dst parameter became |
| | deprecated. As a result, the new timezone han- |
| | dling features should be used instead. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
gmmktime(3) basic example
<?php
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", gmmktime(0, 0, 0, 7, 1, 2000));
?>
SEE ALSO
mktime(3), date(3), time(3).
PHP Documentation Group GMMKTIME(3)