函数签名[source] | |
---|---|
st.date_input(标签, 值="今天", 最小值=无, 最大值=无, 键=无, 帮助=无, 更改时=无, 参数=无, 关键字参数=无, *, 格式="YYYY/MM/DD", 禁用=假, 标签可见性="可见") | |
参数 | |
label (str) | 一个简短的标签,向用户解释此日期输入的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会呈现。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是一个有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 出于可访问性原因,您永远不应设置空标签,但如有需要,可以使用label_visibility隐藏它。将来,我们可能会通过引发异常来禁止空标签。 |
value ("today", datetime.date, datetime.datetime, str, list/tuple of these, or None) | 此小部件首次渲染时的值。可以是以下之一:
|
min_value ("today", datetime.date, datetime.datetime, str, or None) | 可选择的最小日期。这可以是value接受的任何日期类型,除了列表或元组。 如果这是None(默认值),则最小可选日期是初始值之前的十年。如果初始值是一个区间,则最小可选日期是区间开始日期之前的十年。如果没有设置初始值,则最小可选日期是今天之前的十年。 |
max_value ("today", datetime.date, datetime.datetime, str, or None) | 可选择的最大日期。这可以是value接受的任何日期类型,除了列表或元组。 如果这是None(默认值),可选择的最大日期是初始值之后的十年。如果初始值是一个区间,可选择的最大日期是区间结束日期之后的十年。如果没有设置初始值,可选择的最大日期是今天之后的十年。 |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。 |
help (str) | 一个可选的小提示,显示在小部件标签旁边。 只有当label_visibility="visible"时,Streamlit才会显示这个小提示。 |
on_change (callable) | 当此日期输入的值发生变化时调用的可选回调函数。 |
args (tuple) | 传递给回调函数的可选参数元组。 |
kwargs (dict) | 一个可选的字典,用于传递给回调函数。 |
format (str) | 一个控制界面如何显示日期的格式字符串。 支持 "YYYY/MM/DD"(默认)、"DD/MM/YYYY" 或 "MM/DD/YYYY"。 你也可以使用句点(.)或连字符(-)作为分隔符。 |
disabled (bool) | 一个可选的布尔值,如果设置为True,则禁用日期输入。默认值为False。 |
label_visibility ("visible", "hidden", or "collapsed") | 标签的可见性。默认是"visible"。如果这是"hidden",Streamlit会显示一个空白的间隔符而不是标签,这有助于保持小部件与其他小部件对齐。如果这是"collapsed",Streamlit不会显示标签或间隔符。 |
返回 | |
(datetime.date 或包含 0-2 个日期的元组或 None) | 日期输入小部件的当前值,如果未选择日期则为 None。 |
示例
import datetime import streamlit as st d = st.date_input("When's your birthday", datetime.date(2019, 7, 6)) st.write("Your birthday is:", d)import datetime import streamlit as st today = datetime.datetime.now() next_year = today.year + 1 jan_1 = datetime.date(next_year, 1, 1) dec_31 = datetime.date(next_year, 12, 31) d = st.date_input( "Select your vacation for next year", (jan_1, datetime.date(next_year, 1, 7)), jan_1, dec_31, format="MM.DD.YYYY", ) d要初始化一个空的日期输入,使用 None 作为值:
import datetime import streamlit as st d = st.date_input("When's your birthday", value=None) st.write("Your birthday is:", d)
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。