Perl Date and Time - Perl Scripting

What is the process to calculate Date and Time in Perl?

This chapter will give you the basic idea on how to process and manipulate dates and times in Perl

Current Date and Time

Let's start with localtime() function, which returns values for the current date and time if given no arguments. Following is the 9-element list returned by the localtime function while using in list context −
Try the following example to print different elements returned by localtime() function −
When the above code is executed, it produces the following result −
If you will use localtime() function in scalar context, then it will display date and time from the current time zone set in the system. Try the following example to print current date and time in full format −
When the above code is executed, it produces the following result −

GMT Time

The function gmtime() works similar to that of localtime() function but the returned values are localized for the standard Greenwich time zone. When called in list context, $isdst, the last value returned by gmtime, is always set to 0. There is no Daylight Saving Time in GMT.
You should be able to note that localtime() will return the current local time on the machine that runs the script and gmtime() will return the universal Greenwich Mean Time, or GMT (or UTC).
Try the following example to print the current date and time but on GMT scale −
When the above code is executed, it produces the following result −

Format Date & Time

You can use localtime() function to get a list of 9-elements and later you can use the printf() function to format date and time based on your requirements as follows −
When the above code is executed, it produces the following result −

Epoch time

You can use the time() function to get epoch time, i.e., the numbers of seconds that have elapsed since a given date, in Unix is January 1, 1970.
When the above code is executed, it produces the following result −
To convert a given number of seconds into date and time string is given as follows −
When the above code is executed, it produces the following result −

POSIX Function strftime()

You can use the POSIX function strftime() to format date and time with the help of the following table. Please note that the specifiers marked with an asterisk (*) are locale-dependent.

Specifier

Replaced by

Example

%a

Abbreviated weekday name *

Thu

%A

Full weekday name *

Thursday

%b

Abbreviated month name *

Aug

%B

Full month name *

August

%c

Date and time representation *

Thu Aug 23 14:55:02 2001

%C

Year divided by 100 and truncated to integer (00-99)

20

%d

Day of the month, zero-padded (01-31)

23

%D

ShortMM/DD/YYdate, equivalent to%m/%d/%y

08/23/01

%e

Day of the month, space-padded (1-31)

23

%F

ShortYYYY-MM-DDdate, equivalent to%Y-%m-%d

2001-08-23

%g

Week-based year, last two digits (00-99)

01

%g

Week-based year

2001

%h

Abbreviated month name * (same as%b)

Aug

%H

Hour in 24h format (00-23)

14

%I

Hour in 12h format (01-12)

02

%j

Day of the year (001-366)

235

%m

Month as a decimal number (01-12)

08

%M

Minute (00-59)

55

%n

New-line character ('\n')

%p

AM or PM designation

PM

%r

12-hour clock time *

02:55:02 pm

%R

24-hourHH:MMtime, equivalent to%H:%M

14:55

%S

Second (00-61)

02

%t

Horizontal-tab character ('\t')

%T

ISO 8601 time format (HH:MM:SS), equivalent to%H:%M:%S

14:55

%u

ISO 8601 weekday as number with Monday as1(1-7)

4

%U

Week number with the first Sunday as the first day of week one (00-53)

33

%V

ISO 8601 week number (00-53)

34

%w

Weekday as a decimal number with Sunday as0(0-6)

4

%W

Week number with the first Monday as the first day of week one (00-53)

34

%x

Date representation *

08/23/01

%X

Time representation *

14:55:02

%y

Year, last two digits (00-99)

01

%Y

Year

2001

%z

ISO 8601 offset from UTC in timezone (1 minute = 1, 1 hour = 100)

If timezone cannot be termined, no characters

+100

%Z

Timezone name or abbreviation *

If timezone cannot be termined, no characters

CDT

%%

A%sign

%

Let's check the following example to understand the usage −
When the above code is executed, it produces the following result −

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Perl Scripting Topics