def format_timestamp(timestamp_epoch):
"""
Convert epoch timestamp to formatted datetime string without using datetime package.
Args:
timestamp_epoch (int/float): Unix epoch timestamp (seconds since 1970-01-01 00:00:00 UTC)
Returns:
str: Formatted datetime string in 'YYYY-MM-DD HH:MM:SS' format
"""
SECONDS_PER_DAY = 86400
SECONDS_PER_HOUR = 3600
SECONDS_PER_MINUTE = 60
timestamp = int(timestamp_epoch)
days_since_epoch = timestamp // SECONDS_PER_DAY
remaining_seconds = timestamp % SECONDS_PER_DAY
hours = remaining_seconds // SECONDS_PER_HOUR
remaining_seconds %= SECONDS_PER_HOUR
minutes = remaining_seconds // SECONDS_PER_MINUTE
seconds = remaining_seconds % SECONDS_PER_MINUTE
year = 1970
days = days_since_epoch
while days >= 365:
is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
days_in_year = 366 if is_leap else 365
if days >= days_in_year:
days -= days_in_year
year += 1
month_lengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
month_lengths[1] = 29
month = 0
while days >= month_lengths[month]:
days -= month_lengths[month]
month += 1
month += 1
day = days + 1
return f"{year:04d}-{month:02d}-{day:02d} {hours:02d}:{minutes:02d}:{seconds:02d}"
timestamp = 1697054700
formatted_date = format_timestamp(timestamp)
print(formatted_date + " UTC")