Showing posts with label python_datetime_strptime. Show all posts
Showing posts with label python_datetime_strptime. Show all posts

Feb 5, 2019

Python week of the month

from math import ceil
from datetime import datetime

def week_of_month(dt):
#This will add the first day of the month weekday & present day of month
    first_day = dt.replace(day=1)
    day_of_month = dt.day
    #print day_of_month
    adj_day_of_month = day_of_month + first_day.weekday()
    return int(ceil(adj_day_of_month/7.0))

if __name__ == '__main__':
    #dt = datetime.now()
    #dt = datetime.strptime('Feb 21 2019  1:00PM', '%b %d %Y %I:%M%p')
    dt = datetime.strptime('Feb 19 2019', '%b %d %Y')
    print dt
    print week_of_month(dt)

"""
Output:
2019-02-19 00:00:00
3
"""

Jan 25, 2019

Python datetime

from datetime import datetime

datetime_obj = datetime.now() 
print datetime_obj #2019-01-25 13:45:28.087000
print datetime_obj.date() #2019-01-25
print datetime_obj.year  #2019
print datetime_obj.month #1
print datetime_obj.day   #25
print datetime_obj.hour  #13
print datetime_obj.minute #45
print datetime_obj.second #28

datetime_object = datetime(2011, 07, 01, 11, 50, 55)
print datetime_object
datetime_object_str =  datetime_object.strftime("%Y-%m-%d %H:%M:%S")
print datetime_object_str #2011-07-01 11:50:55
print type(datetime_object_str) #<type 'str'>

datetime_object = datetime.strptime('2018-07-11 10:55:55', '%Y-%m-%d %H:%M:%S')
print datetime_object #2011-07-01 11:50:55
print type(datetime_object) #<type 'datetime'>

Apr 5, 2018

get last billing date of previous month

relm.py
import datetime
from dateutil import relativedelta
import sys

try:
   input_date = sys.argv[1]
   input_date = datetime.datetime.strptime(input_date, "%Y-%m-%d").date()
   #This gives always last date of the month - relativedelta.relativedelta(day=31)
   prev_month = input_date - relativedelta.relativedelta(months=1) - relativedelta.relativedelta(day=31)
   print prev_month
except Exception, e:
   print e


Output:
python relm.py 2018-02-27 #2018-01-31
python relm.py 2018-12-28 #2018-11-30
python relm.py 2018-01-28 #2017-12-31
python relm.py 2018-02-31  #day is out of range for month