You have probably come across situations in which you needed to convert a string into a date in Python. There are a few ways to do that, but you may have not had the chance to use the following method.
It’s not that it is so special that you cannot learn, or that it is so difficult what’s going on. It’s basically a rare conversion that you have not had the chance to stumble upon before.
As Python is one of the most popular languages right now, many developers from other languages may also start using it whether that is just on a side project, or a simple script that can help them automate some tasks.
They may have been able to see how to actually find the index in an array, for example in Java, where you write the name of the array and also the index in the brackets. This is also available in Python.
Finding the number of days is usually quite popular and well documentated. There can also be cases when we need to find a difference in terms of weeks or even months.
If you want to find the difference in months between 2 dates, then here is a quick Python script to help you do that.
For example, between October 2018 and November 2021, there isn’t just a month difference. There is also a difference in years as well.
Let us assume that we don’t have dates prepared yet, so we initialize 2 variables with 2 dates.
After that, we find the difference in terms of number of months in between.
We should keep in mind that we may have dates that are in different years, and it’s not enough to think that we can just subtract two dates. Because of that, we need to also find the difference in years.
Here is the entire script:
You may get the impression that we may have a negative number in the end, since we are subtracting the number representing a month from another month.
To illustrate, let us assume that we have the following:
Now, since we are subtracting the number of months from the first date and 3 < 12, we will indeed get -9. However, we also have in the end a difference in years that is equal 1, since 2021 – 2020 = 1.
Hence, we will add 12 to -9, and in the end we get the result equal to 3:
When we code programs, hardware is often the last thing we think about. After all, we have intuitive compilers to handle system translations for us. They can even check our errors for free. Plus, if our computers run the programs perfectly, then there’s no need to think about how they do it.
However, this couldn’t be further from the truth. Here’s why software engineers need at least basic hardware knowledge.
If you use Python in your work, or simply for scripting, chances are that there will come a point in time when you are going to need to work with dates.
Since we still live in this universe where time passes, we may need to find the number of days that have passed between one point and another one.
We can of course pull up a calendar and manually count the days, which is slow and boring.
If you are reading this article, can you please take a second and count the number of tabs that you have currently as opened?
If you are like me, chances are that this number should be greater than 5.
All these tabs can be a bit distracting, since you may consider opening them up and checking them from time to time even if you do not need to do that.
Moreover, all these tabs can consume RAM in your computer.
One of the main pain points in the career of a software developer is that there are too many things to learn, not that much time available, and many different alternatives that can make it hard to prioritize and choose from an overwhelmingly large list of technologies that can currently be well paid in the market.
It’s even hard to compare it with any other job. At least, no other profession comes to my mind that could have such diverse possibilities to choose from.
If you like Hacker News, but feel that it’s pretty diversified and would want something that is more closely related to Data Science, then here is DataTau.
I am an experienced and passionate Senior Software Engineer with a demonstrated history of working in the full life cycle of software development with enormous curiosity for data science, machine learning, algorithms, data structures, and solving challenging problems. I am an open-source enthusiast at https://github.com/fatosmorina and also a writer.
I am open for new opportunities.