Skip to content

relationalai.std.dates.ISO

class ISO

Contains attributes with common ISO format strings for dates and datetimes. Use these format strings with datetime.strptime() and strftime() to parse date strings and format dates.

NameValue
ISO.DATE"y-m-d"
ISO.HOURS"y-m-dTH:M:S"
ISO.HOURS_TZ"y-m-dTHz"
ISO.MINUTES"y-m-dTH:M"
ISO.MINUTES_TZ"y-m-dTH:Mz"
ISO.SECONDS"y-m-dTH:M:S"
ISO.SECONDS_TZ"y-m-dTH:M:Sz"
ISO.MILLIS"y-m-dTH:M:S.s"
ISO.MILLIS_TZ"y-m-dTH:M:S.sz"

See Format Codes for more details on the format codes used in RAI format strings.

Use the ISO namespace to parse an ISO-formatted date string using datetime.strptime() or format a datetime value as an ISO-formatted string using strftime():

import relationalai as rai
from relationalai.std import dates
# =====
# SETUP
# =====
model = rai.Model("MyModel")
Event = model.Type("Event")
with model.rule():
Event.add(id=1).set(time_str="2021-01-01T12:00:00")
# =======
# EXAMPLE
# =======
with model.rule():
event = Event()
event.set(
# Parse event.time_str as a datetime value.
time=dates.datetime.strptime(event.time_str, dates.ISO.SECONDS,
# Format time as an ISO-formatted date.
date_str=dates.strftime(time, dates.ISO.DATE)
)
with model.query() as select:
event = Event()
response = select(event.id, event.time, event.date_str)
print(response.results)
# id time date_str
# 0 1 2021-01-01 12:00:00 2021-01-01