File size: 922 Bytes
790625d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from datetime import datetime

class DateFormatter:
    @staticmethod
    def gr_datetime_to_display(dt: datetime) -> str:
        """Convert gr.DateTime value to DD-MM-YYYY display format"""
        return dt.strftime("%d-%m-%Y")
    
    @staticmethod
    def gr_datetime_to_resonance_input(dt: datetime) -> str:
        """Convert gr.DateTime to DD-MM-YYYY HH:MM:SS for resonance calculator"""
        return dt.strftime("%d-%m-%Y %H:%M:%S")
    
    @staticmethod
    def display_to_datetime(display_str: str) -> datetime:
        """Convert DD-MM-YYYY back to datetime object"""
        return datetime.strptime(display_str, "%d-%m-%Y")
    
    @staticmethod
    def is_valid_date_string(date_str: str, format: str = "%d-%m-%Y") -> bool:
        """Validate date string format"""
        try:
            datetime.strptime(date_str, format)
            return True
        except ValueError:
            return False