Skip to content

Commit ece7b0d

Browse files
committed
feat: add format_ms_time_detailed view
1 parent e620f55 commit ece7b0d

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

freqtrade/util/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
dt_utc,
1010
format_date,
1111
format_ms_time,
12+
format_ms_time_det,
1213
shorten_date,
1314
)
1415
from freqtrade.util.dry_run_wallet import get_dry_run_wallet
@@ -36,6 +37,7 @@
3637
"dt_utc",
3738
"format_date",
3839
"format_ms_time",
40+
"format_ms_time_det",
3941
"get_dry_run_wallet",
4042
"FtPrecise",
4143
"PeriodicCache",

freqtrade/util/datetime_helpers.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,12 @@ def format_ms_time(date: int | float) -> str:
107107
: epoch-string in ms
108108
"""
109109
return dt_from_ts(date).strftime("%Y-%m-%dT%H:%M:%S")
110+
111+
112+
def format_ms_time_det(date: int | float) -> str:
113+
"""
114+
convert MS date to readable format - detailed.
115+
: epoch-string in ms
116+
"""
117+
# return dt_from_ts(date).isoformat(timespec="milliseconds")
118+
return dt_from_ts(date).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]

tests/util/test_datetime_helpers.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
dt_utc,
1414
format_date,
1515
format_ms_time,
16+
format_ms_time_det,
1617
shorten_date,
1718
)
1819
from freqtrade.util.datetime_helpers import dt_humanize_delta
@@ -91,7 +92,7 @@ def test_dt_humanize() -> None:
9192

9293
def test_format_ms_time() -> None:
9394
# Date 2018-04-10 18:02:01
94-
date_in_epoch_ms = 1523383321000
95+
date_in_epoch_ms = 1523383321132
9596
date = format_ms_time(date_in_epoch_ms)
9697
assert isinstance(date, str)
9798
res = datetime(2018, 4, 10, 18, 2, 1, tzinfo=timezone.utc)
@@ -111,3 +112,17 @@ def test_format_date() -> None:
111112
date = datetime(2021, 9, 30, 22, 59, 3, 455555, tzinfo=timezone.utc)
112113
assert format_date(date) == "2021-09-30 22:59:03"
113114
assert format_date(None) == ""
115+
116+
117+
def test_format_ms_time_detailed() -> None:
118+
# Date 2018-04-10 18:02:01
119+
date_in_epoch_ms = 1523383321132
120+
date = format_ms_time_det(date_in_epoch_ms)
121+
assert isinstance(date, str)
122+
res = datetime(2018, 4, 10, 18, 2, 1, 132145, tzinfo=timezone.utc)
123+
assert date == res.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]
124+
assert date == "2018-04-10T18:02:01.132"
125+
res = datetime(2017, 12, 13, 8, 2, 1, 512321, tzinfo=timezone.utc)
126+
# Date 2017-12-13 08:02:01
127+
date_in_epoch_ms = 1513152121512
128+
assert format_ms_time_det(date_in_epoch_ms) == res.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]

0 commit comments

Comments
 (0)