BC: Add DMY datetime support.

setup.py
Pierre-Antoine Rouby 2024-04-08 16:10:05 +02:00
parent de1f5c1944
commit a834e1905d
3 changed files with 29 additions and 4 deletions

View File

@ -18,7 +18,12 @@
import logging
from tools import trace, timer, old_pamhyr_date_to_timestamp
from tools import (
trace, timer,
old_pamhyr_date_to_timestamp,
date_iso_to_timestamp,
date_dmy_to_timestamp,
)
from Model.Tools.PamhyrDB import SQLSubModel
from Model.Except import NotImplementedMethodeError
@ -189,6 +194,10 @@ class BoundaryCondition(SQLSubModel):
@classmethod
def time_convert(cls, data):
if type(data) is str:
if data.count("-") == 2:
return date_iso_to_timestamp(data)
if data.count("/") == 2:
return date_dmy_to_timestamp(data)
if data.count(":") == 3:
return old_pamhyr_date_to_timestamp(data)
if data.count(":") == 2:

View File

@ -68,11 +68,11 @@ class WindowToolKit(object):
header = []
values = []
delimiter = '\t'
delimiter = ' '
if ';' in data:
delimiter = ';'
if ' ' in data:
delimiter = ' '
if '\t' in data:
delimiter = '\t'
stream = StringIO(data)
rows = csv.reader(stream, delimiter=delimiter)

View File

@ -234,6 +234,22 @@ def timestamp(dt: datetime):
return (dt - datetime(1970, 1, 1)).total_seconds()
return dt.timestamp()
def date_iso_to_timestamp(date: str):
return datetime.isoformat(date)
def date_dmy_to_timestamp(date: str):
if date.count(":") == 0:
ret = datetime.strptime(date, "%d/%m/%y")
elif date.count(".") == 1:
ret= datetime.strptime(date, "%d/%m/%y %H:%M:%S.%f")
elif date.count(":") == 1:
ret = datetime.strptime(date, "%d/%m/%y %H:%M")
elif date.count(":") == 2:
ret = datetime.strptime(date, "%d/%m/%y %H:%M:%S")
else:
ret = datetime.now()
return ret.timestamp()
def old_pamhyr_date_to_timestamp(date: str):
v = date.split(":")