1. Home
  2. Training Library
  3. DevOps
  4. Courses
  5. Introduction to Python for Programmers

Parsing Date Strings

Developed with
Trivera

Contents

keyboard_tab

The course is part of this learning path

Introduction to Python
course-steps 3 certification 1 lab-steps 3
play-arrow
Parsing Date Strings
Overview
DifficultyIntermediate
Duration55m
Students1485
Ratings
4/5
star star star star star-border

Description

In this first course, we introduce the Python Language, the declaration model, and how variables and functions are used in python.

Our learning objectives for this course are to introduce the python language and to be able to recognize and explain the core concepts of the Python language.

Transcript

- [Instructor] Okay, so what if we wanna parse date or time strings? To parse datetime strings, use one of the strptime methods. Now, there are two different versions, which return different representations of the date and time. In both cases you pass strptime, the time string followed by a template that uses the same directives as striftime. Time.stprtime returns a time_tuple. It is a named tuple. So to get the year for instance, you can use either tuple zero or tuple tm_year, datetime, struct_time returns a new date object. So, for example, if we take our data as a string, for the string we pass the template in, we take time_tuple, and we get the date string pass the template, pass out the detail for ourselves. Okay, that's kind of complex. There's an easier way to parse dates. The dateutil.parser module provides a parse function that will parse any date or datetime string without the need to put together derivatives, as with strptime. 

The parse function has several flags to deal with variations in date formats, such as European style day first. The value returned by parse is a normal python datetime.datetime. So, for example, if we import dateutil and we take a date string, first of all, we list our sorted date strings, and then second we parse with dateutil parser.parse, which doesn't need a template. Okay so what about converting time stamps? Certain functions such as os.getintime, or os.getattime, return a unique style date stamp. This is the number of seconds since January 1st, 1970, a point in time usually called the Unix epoch. You might also get this version of a date and time from other sources. To convert this to a useful format, use datetime.fromtimestamp to convert to a datetime object, or time.localtime to convert to a time tuple. The time.time method returns the current date and time as a time stamp. Converting to a timestamp takes two steps. First get the date and time to a time tuple, and then call time.mktime. So, first we create a python datetime object. Second we extract the time tuple and use it to make Unix epoch time. Get epoch time for right now and we loop through the three epoch times. Now note Windows requires minimum values of 86,400, non-Windows platforms could use zero. We then convert the epoch time to time tuple, and then convert epoch time to python datetime object. Timezones are fairly poorly supported in the standard library. So, the daytime.daytime class has some UTC based methods, but the date YouTube module supports time zones out of the box. So, in addition that has features that can combine the most useful parts of a date time and calendar packages. If you use dateutil to pass a datetime string that has a time zone, it will automatically add that to the date or datetime object. The timezone is usually specified as the offset from UTC, so EDT would be minus four hours and PST would be minus eight hours. The calendar module provides two classes for generating calendars. The TextCalendar generates calendars as plaintext. And the HTMLCalendar generates calendars as HTML. Both support format month and format year methods. TextCalendar for convenience, also provides PR month and PR year methods, which called print on the strings returned by formatmonth and formatyear. For year calendars an option arguments specifies the number of months per row. Actually MyCalendar adds format year page, which returns an entire webpage, complete with hitters and optional CSS file names. You can add optional parameters for the width of the day column and the number of lines for each week. The defaults are two for the day and one for the lines per week, so you can alter the output to change to suit whatever your page or document object model requires. So, in our example, we create a TextCalendar object. We format one month as text, then we create an HTMLCalendar object and then we format one month as HTML.

About the Author

Students79145
Courses96
Learning paths48

Head of Content

Andrew is an AWS certified professional who is passionate about helping others learn how to use and gain benefit from AWS technologies. Andrew has worked for AWS and for AWS technology partners Ooyala and Adobe.  His favorite Amazon leadership principle is "Customer Obsession" as everything AWS starts with the customer. Passions around work are cycling and surfing, and having a laugh about the lessons learnt trying to launch two daughters and a few start ups. 

Covered Topics