Initial Commit
This commit is contained in:
124
Test.py
Executable file
124
Test.py
Executable file
@@ -0,0 +1,124 @@
|
||||
from datetime import datetime
|
||||
from datetime import timedelta
|
||||
|
||||
class DateTimeHelper:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __init__(self,capturedatetime,timeChange):
|
||||
self.datetimestamp=capturedatetime
|
||||
self.timeChange=timeChange
|
||||
self.offsetTime=DateTimeHelper.applyRelativeTime(self.datetimestamp, self.timeChange)
|
||||
|
||||
def getDateTimeStamp(self):
|
||||
return self.datetimestamp
|
||||
|
||||
def getTimeChange(self):
|
||||
return self.timeChange
|
||||
|
||||
def getOffsetTime(self):
|
||||
return self.offsetTime
|
||||
|
||||
def getOffsetTimeAsString(self):
|
||||
return DateTimeHelper.getDateTimeAsString(self.offsetTime)
|
||||
|
||||
def toString(self):
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def getDateTimeAsString(someDateTime):
|
||||
if(not isinstance(someDateTime,datetime)):
|
||||
raise Exception('Invalid type for parameter')
|
||||
return someDateTime.strftime("%m-%d-%Y %H:%M:%S")
|
||||
|
||||
@staticmethod
|
||||
def getDateTimeFromString(someDateTimeString):
|
||||
if(not isinstance(someDateTimeString,str)):
|
||||
raise Exception('Invalid type for parameter')
|
||||
return datetime.strptime(someDateTimeString,"%m-%d-%Y %H:%M:%S")
|
||||
|
||||
@staticmethod
|
||||
def getCurrentDateTime():
|
||||
return datetime.now()
|
||||
|
||||
@staticmethod
|
||||
def applyRelativeTime(sometime,relativetime):
|
||||
if(not isinstance(sometime,datetime)):
|
||||
raise Exception('Invalid type for parameter')
|
||||
if(not isinstance(relativetime,str)):
|
||||
raise Exception('Invalid type for parameter')
|
||||
if relativetime=='just now':
|
||||
return sometime
|
||||
relativetimesplit=relativetime.split()
|
||||
if len(relativetimesplit)==2:
|
||||
year=datetime.now().year
|
||||
relativetime=relativetime+', '+str(year)
|
||||
relativeDate = datetime.strptime(relativetime, '%B %d, %Y')
|
||||
days=sometime-relativeDate
|
||||
# sometime=sometime-timedelta(days=days)
|
||||
sometime=sometime-days
|
||||
elif relativetimesplit[1]=='hour' or relativetimesplit[1]=='hours':
|
||||
hours=int(relativetimesplit[0])
|
||||
sometime=sometime-timedelta(hours=hours)
|
||||
elif relativetimesplit[1]=='day' or relativetimesplit[1]=='days':
|
||||
days=int(relativetimesplit[0])
|
||||
sometime=sometime-timedelta(days=days)
|
||||
elif relativetimesplit[1]=='minute' or relativetimesplit[1]=='minutes':
|
||||
minutes=int(relativetimesplit[0])
|
||||
sometime=sometime-timedelta(minutes=minutes)
|
||||
return sometime
|
||||
|
||||
list=[]
|
||||
|
||||
|
||||
# date_time_str='03-03-2023 12:00:00'
|
||||
# capturedatetime = datetime.strptime(date_time_str, '%m-%d-%Y %H:%M:%S')
|
||||
# Item.applyRelativeTime(capturedatetime, '2 days ago')
|
||||
|
||||
deltaTime='March 7'
|
||||
now = datetime.now()
|
||||
relativeTime=DateTimeHelper.applyRelativeTime(now, deltaTime)
|
||||
relativeTimeStr=DateTimeHelper.getDateTimeAsString(relativeTime)
|
||||
|
||||
print('time:{p1}'.format(p1=DateTimeHelper.getDateTimeAsString(now)))
|
||||
print('delta:{p1}'.format(p1=deltaTime))
|
||||
print('result:{p1}'.format(p1=relativeTimeStr))
|
||||
|
||||
|
||||
#now = Item.getCurrentDateTime()
|
||||
#capturedatetime = Item.getDateTimeAsString(now)
|
||||
|
||||
#Item.applyRelativeTime(capturedatetime, 'February 24')
|
||||
|
||||
|
||||
list.append(Item(capturedatetime,'February 24'))
|
||||
list.append(Item(capturedatetime,'2 days ago'))
|
||||
list.append(Item(capturedatetime,'21 days ago'))
|
||||
list.append(Item(capturedatetime,'1 day ago'))
|
||||
list.append(Item(capturedatetime,'1 minute ago'))
|
||||
list.append(Item(capturedatetime,'5 minutes ago'))
|
||||
|
||||
for item in list:
|
||||
print (item)
|
||||
|
||||
|
||||
|
||||
# date_time_str='01-01-2023 12:00:00'
|
||||
# b = datetime.strptime(date_time_str, '%m-%d-%Y %H:%M:%S')
|
||||
|
||||
# date_time_str='01-01-2023 18:00:00'
|
||||
# c = datetime.strptime(date_time_str, '%m-%d-%Y %H:%M:%S')
|
||||
|
||||
# list.append(a)
|
||||
# list.append(b)
|
||||
# list.append(c)
|
||||
|
||||
# print(list)
|
||||
|
||||
# another=sorted(list, key=lambda x:x)
|
||||
|
||||
# print(another)
|
||||
# for item in another:
|
||||
# print('{:02d}-{:02d}-{:d} {:02d}:{:02d}:{:02d}'.format(item.month,item.day,item.year,item.hour,item.minute,item.second))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user