Sponsored Content
Full Discussion: gawk and strftime()
Top Forums Shell Programming and Scripting gawk and strftime() Post 302192603 by ripat on Wednesday 7th of May 2008 11:26:40 AM
Old 05-07-2008
gawk and strftime()

Strange behaviour of the strftime() function from gawk (3.1.5):

Code:
$ awk 'BEGIN{print strftime("%T", 3600)}'
> 02:00:00

$ awk 'BEGIN{print strftime("%T", 0)}'
> 01:00:00

Obviously something with DST but I can not figure out why? To me 3600 epoch seconds remains 01:00, DST or not.

From the gawk man pages:
Code:
strftime([format [, timestamp]])
                 Formats  timestamp  according to the specification in format.  The timestamp should be of the same form
                 as returned by systime().  If timestamp is missing, the current time of day  is  used.   If  format  is
                 missing,  a  default format equivalent to the output of date(1) is used.  See the specification for the
                 strftime() function in ANSI C for the format conversions that are guaranteed to be available.   A  pub‐
                 lic-domain  version  of  strftime(3)  and a man page for it come with gawk; if that version was used to
                 build gawk, then all of the conversions described in that man page are available to gawk.

Any idea?
 

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl replace awk strftime

Hi Everyone i have a perl file below, one of the line is convert the pcho time to human readable format. $value=`awk 'BEGIN{print strftime("%c",1273236600)}' | tr -d '\n'`; if image, if i have lots of pcho time value in a file, if i use this awk, strftime, then tr -d to remove the \n,... (2 Replies)
Discussion started by: jimmy_y
2 Replies

2. Programming

strftime() creates memory leak

Hi, I am facing one strange situation while using strftime() to get current date and time in C. it leaks memory with %T strftime(L_StrDate,30,"%d-%b-%C%y %T", localtime((time_t *)&tv.tv_sec)) ; and when i use another option then no memory leak like strftime(L_StrDate,30,"%d-%b-%C%y ... (3 Replies)
Discussion started by: apskaushik
3 Replies

3. Programming

strftime equivalent in c++

HI, i wish to convert a millsec value to a readable string format. the one option is to use strftime. However this is a bit costly (1-5 micros). is there a a faster way to do so with just string manipulation (Note i have the date object which has the time details but wish o avoid strftime) (2 Replies)
Discussion started by: wojtyla
2 Replies

4. Programming

TZ, localtime and strftime problem on AIX and Solaris

Hello all, I have the following code that seems to be misbehaving depending on the timezone setting (TZ Environment variable). It gives the correct value when TZ is in POSIX format and the wrong value when in OLSON format. #include <stdio.h> #include <stdlib.h> #include <time.h> #include... (6 Replies)
Discussion started by: biju64
6 Replies

5. Shell Programming and Scripting

Help on awk strftime

cat file 41285.000034722223 41285.000567129631 41285.000069444446 41285.001122685186 41285.000092592592 41285.001620370371 41285.000138888892 41285.00340277778 41285.000185185185 41285.000405092593 41285.000196759262 41285.000856481478 41285.000208333331 41285.000717592593... (5 Replies)
Discussion started by: phpshell
5 Replies

6. UNIX for Advanced & Expert Users

[SOLVED] Making mktime/strftime available to mawk

I frequently use awk time functions and am switching some scripts over to mawk. I don't have the mktime or strftime functions in mawk, but it appears that there is a way, as explained here in "Time functions": Please only cut-and-past links to man pages from our man pages. So, simple... (10 Replies)
Discussion started by: treesloth
10 Replies

7. Shell Programming and Scripting

Combining awk printf and print strftime command

I have a lines like below, captured from rrdtool fetch command, 1395295200 2.0629986254e+06 7.4634784967e+05 1395297000 2.0198121616e+06 6.8658888903e+05 1395298800 1.8787141122e+06 6.7482866452e+05 1395300600 1.7586118678e+06 6.7867977653e+05 1395302400 1.8222762151e+06 7.1301678859e+05I'm... (3 Replies)
Discussion started by: rk4k
3 Replies
STRPTIME(3)								 1							       STRPTIME(3)

strptime - Parse a time/date generated withstrftime(3)

SYNOPSIS
array strptime (string $date, string $format) DESCRIPTION
strptime(3) returns an array with the $date parsed, or FALSE on error. Month and weekday names and other language dependent strings respect the current locale set with setlocale(3) ( LC_TIME). PARAMETERS
o $date ( string) - The string to parse (e.g. returned from strftime(3)). o $format ( string) - The format used in $date (e.g. the same as used in strftime(3)). Note that some of the format options available to strf- time(3) may not have any effect within strptime(3); the exact subset that are supported will vary based on the operating system and C library in use. For more information about the format options, read the strftime(3) page. RETURN VALUES
Returns an array or FALSE on failure. The following parameters are returned in the array +-----------+---------------------------------------------------+ |parameters | | | | | | | Description | | | | +-----------+---------------------------------------------------+ | | | | "tm_sec" | | | | | | | Seconds after the minute (0-61) | | | | | | | | "tm_min" | | | | | | | Minutes after the hour (0-59) | | | | | | | |"tm_hour" | | | | | | | Hour since midnight (0-23) | | | | | | | |"tm_mday" | | | | | | | Day of the month (1-31) | | | | | | | | "tm_mon" | | | | | | | Months since January (0-11) | | | | | | | |"tm_year" | | | | | | | Years since 1900 | | | | | | | |"tm_wday" | | | | | | | Days since Sunday (0-6) | | | | | | | |"tm_yday" | | | | | | | Days since January 1 (0-365) | | | | | | | |"unparsed" | | | | | | | the $date part which was not recognized using the | | | specified $format | | | | +-----------+---------------------------------------------------+ EXAMPLES
Example #1 strptime(3) example <?php $format = '%d/%m/%Y %H:%M:%S'; $strf = strftime($format); echo "$strf "; print_r(strptime($strf, $format)); ?> The above example will output something similar to: 03/10/2004 15:54:19 Array ( [tm_sec] => 19 [tm_min] => 54 [tm_hour] => 15 [tm_mday] => 3 [tm_mon] => 9 [tm_year] => 104 [tm_wday] => 0 [tm_yday] => 276 [unparsed] => ) NOTES
Note This function is not implemented on Windows platforms. Note Internally, this function calls the strptime() function provided by the system's C library. This function can exhibit noticeably different behaviour across different operating systems. The use of date_parse_from_format(3), which does not suffer from these issues, is recommended on PHP 5.3.0 and later. Note "tm_sec" includes any leap seconds (currently upto 2 a year). For more information on leap seconds, see the Wikipedia article on leap seconds. Note Prior to PHP 5.2.0, this function could return undefined behaviour. Notably, the "tm_sec", "tm_min" and "tm_hour" entries would return undefined values. SEE ALSO
checkdate(3), strftime(3), date_parse_from_format(3), DateTime.createFromFormat(3). PHP Documentation Group STRPTIME(3)
All times are GMT -4. The time now is 11:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy