Caffeine Half-Life Calculator
跟踪咖啡因代谢,查看何时从您的系统中清除。
平均值:5–6 小时。因人而异 (3–9 小时)。
关于此工具
咖啡因半减期是指你的身体代谢和清除摄入咖啡因一半所需的时间。对大多数成年人来说,咖啡因半减期为5~6小时,这意味着如果你在中午喝一杯含100mg咖啡因的咖啡,到下午5~6点你的体内约有50mg咖啡因仍存留。这会影响睡眠质量、警觉度以及咖啡因效果持续的时长。理解你的咖啡因半减期能帮助你战略性地安排咖啡因摄入时间,避免失眠和睡眠中断,特别是当你有早起活动或需要充分休息时。
要使用计算器,输入你摄入的咖啡因量(以毫克为单位)和摄入时间。该工具立即显示在任何给定时间你体内还有多少咖啡因,让你可以跟踪数小时或数天内的代谢过程。你也可以反向计算——输入目标咖啡因水平,看看你何时会达到它。这在管理下午咖啡以保护夜间睡眠、计算运动前或服用与咖啡因相互作用的药物前需要等待多长时间、或规划日常摄入量以避免超过大多数成年人推荐的每日400mg限额时特别有帮助。
个人对咖啡因的敏感性因遗传因素、药物、怀孕状态和肝脏功能而异。尼古丁、酒精、口服避孕药和某些抗抑郁药等因素可能会减缓咖啡因代谢,延长其半减期。大量咖啡因使用者可能会产生耐受性,主观上感觉效果消退得更快。由于咖啡、茶和能量饮料含有可能加快或减慢吸收的其他物质,它们之间的半减期也会略有不同。将这个工具用作个性化基准而非刻板规则,并根据咖啡因如何影响你个人的睡眠和能量模式来调整时机。
常见问题
代码实现
import math
from datetime import datetime, timedelta
HALF_LIFE_HOURS = 5 # average caffeine half-life
def caffeine_remaining(initial_mg, hours_elapsed, half_life=HALF_LIFE_HOURS):
"""Calculate remaining caffeine after elapsed time"""
return initial_mg * (0.5 ** (hours_elapsed / half_life))
def hours_to_threshold(initial_mg, threshold_mg, half_life=HALF_LIFE_HOURS):
"""Calculate hours until caffeine falls below threshold"""
if initial_mg <= threshold_mg:
return 0
return half_life * math.log2(initial_mg / threshold_mg)
# Example: 200mg caffeine consumed 3 hours ago
initial = 200
elapsed = 3
remaining = caffeine_remaining(initial, elapsed)
print(f"After {elapsed}h: {remaining:.1f}mg remaining") # ~141.4mg
# Project forward
print("\nHourly breakdown:")
for h in range(0, 13, 2):
mg = caffeine_remaining(remaining, h)
print(f"+{h:2d}h: {mg:6.1f}mg")
# Time to sleep-safe level
h_to_50 = hours_to_threshold(remaining, 50)
print(f"\nFalls below 50mg in {h_to_50:.1f}h")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.