PythonDate and Time
Python programs can handle dates and times in many ways. Converting a date format is a common routine chore. Python has a time and calendar module to help.
What is tick?
The time interval is a floating-point decimal in seconds.
Each timestamp is represented by how long it has been since midnight on January 1, 1970 (the calendar).
There are many functions under the popular time module included with Python to convert common date formats. such as the function Time.time () returns the current operating system time of the record starting from 12:00am, January 1, 1970 (epoch) with the Ticks Timing unit, as in the following example:
#!/usr/bin/python
import time; # This is required to include time module.
ticks = time.time()
print "Number of ticks since 12:00am, January 1, 1970:", ticks
The result of the above example output:
Number:00am,January1,1970:7186862.73399
Tick units are best suited for date operations. But the dates before 1970 cannot be expressed in this way. Too far away from the date, UNIX and Windows only support the day of 2038.
What is a time tuple?
Many Python functions use a single element to assemble 9 sets of digital processing time:
<td0 to 59< td= "" >
Serial Number |
Field |
value |
0 |
4-digit years |
2008 |
1 |
Month |
1 to 12 |
2 |
Day |
1 to 31 |
3 |
Hours |
0 to 23 |
4 |
Minutes |
5 |
Seconds |
0 to 61 (60 or 61 is a leap second) |
6 |
The first day of the week |
0 to 6 (0 is Monday) |
7 |
The first day of the year |
1 to 366 (Julian calendar) |
8 |
Daylight saving time |
-1, 0, 1,-1 is the flag that decides whether to be daylight saving time |
The above is also the struct_time tuple. This structure has the following properties:
Serial Number |
Properties |
value |
0 |
Tm_year |
2008 |
1 |
Tm_mon |
1 to 12 |
2 |
Tm_mday |
1 to 31 |
3 |
Tm_hour |
0 to 23 |
4 |
Tm_min |
0 to 59 |
5 |
Tm_sec |
0 to 61 (60 or 61 is a leap second) |
6 |
Tm_wday |
0 to 6 (0 is Monday) |
7 |
Tm_yday |
1 to 366 (Julian calendar) |
8 |
Tm_isdst |
-1, 0, 1,-1 is the flag that decides whether to be daylight saving time |
Get current time
Converts from the time of the return floating-point number to the time tuple, as long as the floating-point number is passed to a function such as localtime.
#!/usr/bin/python
import time;
localtime = time.localtime(time.time())
print "Local current time :", localtime
The result of the above example output:
Local current time : time.struct_time(tm_year=2013, tm_mon=7,
tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
Get the formatted time
You can choose a variety of formats according to your needs, but the simplest function to get a readable time pattern is asctime ():
#!/usr/bin/python
import time;
localtime = time.asctime( time.localtime(time.time()) )
print "Local current time :", localtime
The result of the above example output:
Local:TueJan: £º
Get a calendar for a month
The Calendar module has a wide range of methods for working with calendar and monthly calendars, such as printing a month's monthly calendar:
#!/usr/bin/python
import calendar
cal = calendar.month(2008, 1)
print "Here is the calendar:"
print cal;
The result of the above example output:
Here is the calendar:
January 2008
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Time Module
The time module contains the following built-in functions, both temporal and conversion time formats:
Serial Number |
Functions and descriptions |
1 |
Time.altzone Returns the number of seconds to offset the daylight saving time region in West Greenwich. If the region returns negative values in eastern Greenwich (such as Western Europe, including the UK). Available for daylight saving time enabled regions. |
2 |
Time.asctime ([Tupletime]) Accepts a time tuple and returns a read-only string of 24 characters in the form "Tue Dec 11 18:07:14 2008" (December 11, 2008 Tuesday 18:07 14 seconds). |
3 |
Time.clock () The number of seconds used to calculate the floating-point count returns the current CPU time. It is more useful than time.time () to measure the time spent on different programs. |
4 |
Time.ctime ([secs]) function equivalent to Asctime (localtime (secs)), parameter is not given equal to Asctime () |
5 |
Time.gmtime ([secs]) Receives the time suffix (the number of floating-point seconds elapsed after the 1970 era) and returns the time-tuple T in Greenwich Astronomical time. Note: T.TM_ISDST is always 0 |
6 |
Time.localtime ([secs]) The Receive time suffix (the number of floating-point seconds after the 1970 era) and the time-of-day tuple T (t.tm_isdst 0 or 1, depending on whether the local time is daylight saving). |
7 |
Time.mktime (Tupletime) Accepts the time tuple and returns the time suffix (the number of floating-point seconds elapsed after the 1970 era). |
8 |
Time.sleep (secs) Postpone the call thread's run, secs refers to the number of seconds. |
9 |
Time.strftime (Fmt[,tupletime]) Receives a time tuple and returns the local time as a readable string, formatted as determined by the FMT. |
10 |
Time.strptime (str,fmt= '%a%b%d%h:%m:%s%Y ') Resolves a time string to a time tuple according to the format of the FMT. |
11 |
Time.time () Returns the timestamp of the current time (the number of floating-point seconds elapsed after the 1970 era). |
12 |
Time.tzset () Re-initializes time-related settings according to the environment variable TZ. |
The time module contains the following 2 very important properties:
Serial Number |
Properties and Descriptions |
1 |
Time.timezone The attribute Time.timezone is the number of seconds (>0, Americas; <=0 most of Europe, Asia, and Africa) from Greenwich in the local time zone (daylight saving is not started). |
2 |
Time.tzname The Time.tzname property contains a pair of different strings depending on the situation, which is the local time zone name with daylight savings, and No. |
Calendar Module
The functions of this module are calendar-related, such as printing a month's character calendar.
Monday is the default first day of the week, and Sunday is the default last day. You need to call the Calendar.setfirstweekday () function to change the settings. The module contains the following built-in functions:
Serial Number |
Functions and descriptions |
1 |
Calendar.calendar (year,w=2,l=1,c=6) Returns the year calendar of a multi-line string format with a 3-month line with a distance of C. The daily width interval is w characters. The length of each line is 21* w+18+2* C. L is the number of rows per week. |
2 |
Calendar.firstweekday () Returns the settings for the current weekly start date. By default, 0 is returned when the Caendar module is first loaded, which is Monday. |
3 |
Calendar.isleap (year) is a leap year that returns true, otherwise false. |
4 |
Calendar.leapdays (Y1,y2) Returns the total number of leap years between y1,y2 two. |
5 |
Calendar.month (year,month,w=2,l=1) Returns a multi-line string format for year month calendar, two row headings, and one week row. The daily width interval is w characters. The length of each line is 7* w+6. L is the number of rows per week. |
6 |
Calendar.monthcalendar (Year,month) Returns a single-level nested list of integers. Each sub-list is loaded with integers representing one weeks. The date of year month is set to 0, and the day of the month is indicated by the day of the week, starting from 1. |
7 |
Calendar.monthrange (Year,month) Returns a two integer. The first is the day of the week of the month, and the second is the date code for that month. Day from 0 (Monday) to 6 (Sunday); The month is from 1 to 12. |
8 |
Calendar.prcal (year,w=2,l=1,c=6) Equivalent to print Calendar.calendar (year,w,l,c). |
9 |
Calendar.prmonth (year,month,w=2,l=1) Equivalent to print Calendar.calendar (year,w,l,c). |
10 |
Calendar.setfirstweekday (Weekday) Set the starting date code for the week. 0 (Monday) to 6 (Sunday). |
11 |
CALENDAR.TIMEGM (Tupletime) In contrast to Time.gmtime: accepts a time tuple form, returning the time suffix (the number of floating-point seconds elapsed after the 1970 era). |
12 |
Calendar.weekday (Year,month,day) Returns the date code for the given date. 0 (Monday) to 6 (Sunday). The month is 1 (January) to 12 (December). |
Other related modules and functions
In Python, other modules that deal with the date and time are:
- DateTime module
- Pytz Module
- Dateutil Module
Transferred from: http://www.runoob.com/python/python-date-time.html
Python Date and time (RPM)