The program offers the number format as Default in a,b format but I want to show as a:b format
How can I change this? I tried below but it didn’t work:
st.number_input(“time”)).replace(" , " , " : ")
The program offers the number format as Default in a,b format but I want to show as a:b format
How can I change this? I tried below but it didn’t work:
st.number_input(“time”)).replace(" , " , " : ")
Hi @murat_tasci -
It doesn’t work, because the value returned by number_input
is an int
or float
. However, the function does have a parameter format
that allows you to change the display within Streamlit. See the docs for more information:
Best,
Randy
Hi @murat_tasci , wouldn’t it be better to use the time widget for time, instead of the number input? That way, you would get your ‘:’ character too.
The reference is : st.time_input - Streamlit Docs
Cheers
Hi @Shawn_Pereira
I want to use time widget but as far as I know it is not possible to see every single time value on time widget menu like 00:01, 00:02, 00:03…00:04 … 12:00 etc. If it is possible, could you share the code for this?
Note:The values has intervals as 15 mins last have I seen streamlit widget menu. (00:15, 00:30, 00:45, 1:00 etc.)
Hi @murat_tasci , in one of my projects, I implemented a selectbox for time which had a tuple containing sorted elements 5 minutes apart. (i.e. 00:00, 00:05, 00:10…00:15…). You could try any method that suits your purpose.
Cheers
Hi @randyzwitch, I have a question which is over the picture too.
Multi-select solution:
start = "00:00"
end = "23:59"
times = []
start = now = datetime.datetime.strptime(start, "%H:%M")
end = datetime.datetime.strptime(end, "%H:%M")
while now != end:
times.append(str(now.strftime("%H:%M")))
now += datetime.timedelta(minutes=1)
times.append(end.strftime("%H:%M"))
st.multiselect('Departure hour:',times)