Time Ago to Date Format Converter
Convert Time Ago Format to Date Format
2024-10-26 19:40:22 - Coderja
import sys from datetime import datetime, timedelta def parse_time_ago(time_ago_str): number, unit, _ = time_ago_str.split() number = int(number) if "hour" in unit: return timedelta(hours=number) elif "day" in unit: return timedelta(days=number) elif "week" in unit: return timedelta(weeks=number) elif "month" in unit: # Approximate month as 30.44 days return timedelta(days=number * 30.44) elif "year" in unit: # Approximate year as 365.25 days return timedelta(days=number * 365.25) else: raise ValueError(f"Unknown time unit: {unit}") def main(input_file, output_file): now = datetime.now() with open(input_file, 'r') as f: time_ago_list = f.readlines() result = [] for time_ago in time_ago_list: time_ago = time_ago.strip() try: delta = parse_time_ago(time_ago) past_date = now - delta result.append(f"{time_ago}: {past_date.strftime('%Y-%m-%d %H:%M:%S')}\n") except ValueError as e: result.append(f"{time_ago}: Error - {str(e)}\n") with open(output_file, 'w') as f: f.writelines(result) if __name__ == "__main__": if len(sys.argv) != 3: print("Usage: python datescript.py ago.txt date.txt") else: input_file = sys.argv[1] output_file = sys.argv[2] main(input_file, output_file)