Bummer! This is just a preview. You need to be signed in with a Basic account to view the entire video.
Time Deltas4:39 with Kenneth Love
`timedelta` is a really handy tool. Let's see more about how to use them.
timedelta objects represent gaps in time. They are returned when you subtract one
datetime from another. They can also be assigned to a variable and then used to augment
Like we saw in the last video, timedelta objects represent a gap of time. 0:00 We can get them by subtracting one datetime object from another, but 0:04 we can actually create them on their own. 0:08 Let's check them out on their own with datetimes, with dates, and with times. 0:10 So since I've reset my Python interpreter, I need to import datetime again. 0:15 And let's make an object that represents now, just so 0:21 we don't have to keep typing out datetime.datetime.now. 0:24 And we don't really care if we have new values or not. 0:28 We just want something that's held on to here. 0:31 Let's see if we can move this forward in time by three days. 0:34 So, the way that we manipulate date times is with our timedeltas. 0:38 So, let's make a timedelta and we can say in here like, hours equals 5. 0:43 Okay, and I've got this thing back and you see it's 18,000 seconds. 0:49 What I wanna do though is I want to make one of these that's days. 0:54 So, I wanna do days equals we said 3, so 3. 0:59 So we just got a three there. 1:07 You notice we had the zero before. 1:08 That's because it was zero days it was just five hours. 1:10 Okay if I was to do now plus daytime.time delta days equals 3. 1:13 Then where it was the 15th, it is now the 18th, okay? 1:19 . 1:26 Everything else is exactly the same, right? 1:26 It's still 18 hours and 30 seconds or sorry, 18 hours and 30 minutes. 1:29 Just the days changed. 1:34 All right, what if I wanted to go back in time? 1:35 So we could do now plus datetime.timedelta, 1:38 days equals, lets go back five days. 1:44 I did minus five days. 1:47 So again, we went from the 15th to the 10th. 1:49 Now, adding negative five days, that's a little confusing to some people. 1:52 I can see why, it's a little strange. 1:57 So what we can do is we can actually subtract. 1:59 So, let's do now minus datetime.timedelta days equal 5. 2:01 So we've subtracted five days, we get the exact same number. 2:07 So it works. 2:11 It gives us the same day. 2:12 So we have two different ways to manipulate our datetimes. 2:13 So what if we just want a date? 2:17 Or we just want a time? 2:20 I just want the date. 2:22 I don't care about what time it is. 2:23 So I can actually do now.date, and I get back a date. 2:24 And I can do now.time and I get back a time. 2:29 So these can be used if I just need the time, I just need the, the date, whatever. 2:33 What else can we do with these, though? 2:38 Well, we can work with multiple timedeltas, which is kinda cool. 2:40 So let's make a timedelta here that's hour, which is a timedelta hours equals 1. 2:44 So it's one hour long. 2:51 3600 minute seconds. 2:52 And we're gonna say a workday equals hour times 9. 2:55 Cuz you got a lunch hour. 2:59 So eight hour day plus one hour lunch gives you nine hours, right? 3:01 Let's do tomorrow equals datetime.datetime.now.replace 3:05 hour equals 9, minute equals 0. 3:12 And then really, we should do plus datetime.timedelta days equal 1. 3:16 So if we look at tomorrow, that's tomorrow morning at 9 a.m, more or 3:26 less we've got a couple seconds in there, but whatever. 3:30 If we did that and 3:32 we want to say okay what time would I be off tomorrow, if it wasn't standard. 3:33 We could do tomorrow plus work day and we get out 18:00. 3:38 So six, 6 p.m. 3:43 That's really nice. 3:44 I, I can use this to calculate the ends of an appointment or something. 3:46 I just need to make a timedelta as the length of the appointment. 3:49 So let's see. 3:52 We did appointment equals datetime.timedelta minutes equals 45. 3:53 Maybe I have a standard 45 minute meeting slot that I give out. 3:59 All right and we'll say the start is a datetime of the 1st of November and 4:03 it's gonna be 45 minutes after noon. 4:12 Okay? 4:17 So, the end of that is going to be start plus appointment. 4:18 And if we look at end, 4:23 then we see that it ends at 1:30 which is 45 minutes after 12:45. 4:24 >> Manipulating datetimes with timedelta is probably the best part of the datetime 4:30 library. 4:34 It's fairly simple and intuitive and it's really handy for 4:35 a lot of real world scenarios. 4:37
You need to sign up for Treehouse in order to download course files.Sign up