如何在Python框架Dash App中插入当前日期和时间
在Dash应用中添加当前日期和时间的实现方案
嘿,没问题!我帮你梳理两种在Dash应用里展示当前日期时间的常用方法,你可以按需选择:
1. 静态显示(页面加载时生成一次)
如果只需要在页面打开时显示当时的时间,不需要后续更新,这个简单的方案就够用:
import dash from dash import html import datetime app = dash.Dash(__name__) # 格式化当前时间,你可以自定义格式,比如改成"%Y年%m月%d日 %H:%M:%S" current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") app.layout = html.Div([ html.H2("我的Dash应用"), html.P(f"当前时间: {current_time}") ]) if __name__ == "__main__": app.run_server(debug=True)
2. 动态实时更新
要是想让时间每秒自动刷新,就得用到Dash的回调和dcc.Interval组件,代码示例如下:
import dash from dash import html, dcc, Input, Output import datetime app = dash.Dash(__name__) app.layout = html.Div([ html.H2("实时更新的时间展示"), html.P(id="live-time"), # 每1000毫秒(1秒)触发一次更新 dcc.Interval( id="interval-trigger", interval=1000, n_intervals=0 ) ]) # 回调函数:每次Interval触发就更新时间 @app.callback( Output("live-time", "children"), Input("interval-trigger", "n_intervals") ) def update_live_time(n): # 每次调用都重新获取当前时间 now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") return f"当前实时时间: {now}" if __name__ == "__main__": app.run_server(debug=True)
小提示:
- 你可以修改
strftime()里的格式字符串来调整时间的显示样式,比如"%I:%M %p"会显示12小时制带AM/PM的格式 - 调整
dcc.Interval的interval参数可以改变刷新频率,比如设为5000就是每5秒更新一次
这样不管是静态还是动态的需求都能满足啦!
内容的提问来源于stack exchange,提问作者MGB.py
相关产品推荐
相关产品推荐

