mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	timestamp.py: Add {floor,ceiling}_to_{hour,day} to parallel floor_to_day.
This commit is contained in:
		@@ -14,11 +14,30 @@ def datetime_to_UTC(datetime_object):
 | 
			
		||||
        return datetime_object.astimezone(utc)
 | 
			
		||||
    return datetime_object.replace(tzinfo=utc)
 | 
			
		||||
 | 
			
		||||
def floor_to_hour(datetime_object):
 | 
			
		||||
    # type: (datetime.datetime) -> datetime.datetime
 | 
			
		||||
    return datetime.datetime(*datetime_object.timetuple()[:4]) \
 | 
			
		||||
                   .replace(tzinfo=datetime_object.tzinfo)
 | 
			
		||||
 | 
			
		||||
def floor_to_day(datetime_object):
 | 
			
		||||
    # type: (datetime.datetime) -> datetime.datetime
 | 
			
		||||
    return datetime.datetime(*datetime_object.timetuple()[:3]) \
 | 
			
		||||
                   .replace(tzinfo=datetime_object.tzinfo)
 | 
			
		||||
 | 
			
		||||
def ceiling_to_hour(datetime_object):
 | 
			
		||||
    # type: (datetime.datetime) -> datetime.datetime
 | 
			
		||||
    floor = floor_to_hour(datetime_object)
 | 
			
		||||
    if floor == datetime_object:
 | 
			
		||||
        return floor
 | 
			
		||||
    return floor + datetime.timedelta(hours=1)
 | 
			
		||||
 | 
			
		||||
def ceiling_to_day(datetime_object):
 | 
			
		||||
    # type: (datetime.datetime) -> datetime.datetime
 | 
			
		||||
    floor = floor_to_day(datetime_object)
 | 
			
		||||
    if floor == datetime_object:
 | 
			
		||||
        return floor
 | 
			
		||||
    return floor + datetime.timedelta(days=1)
 | 
			
		||||
 | 
			
		||||
def timestamp_to_datetime(timestamp):
 | 
			
		||||
    # type: (float) -> datetime.datetime
 | 
			
		||||
    return datetime.datetime.utcfromtimestamp(float(timestamp)).replace(tzinfo=utc)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user