跳到内容
🛠️ToolsShed

Sunscreen Calculator

根据身体面积和重新涂抹计划计算所需的防晒霜量。

64.5

总面积 (dm²)

12.90 mL

每次使用

2.58 tsp

每次涂抹量(茶匙)

64.5 mL

每日总量

计算方法

推荐用量基于皮肤每平方厘米2毫克的防晒霜。

将每次涂抹量乘以每日涂抹次数,即可得到每日所需的总量。

关于此工具

防晒霜是保护皮肤免受损害和癌症风险的最有效防御之一,但大多数人使用的量太少,无法获得适当的保护。这个计算器可以根据你的体表面积和所需的覆盖水平,帮助你确定所需防晒霜的确切用量。通过使用临床防晒霜测试中采用的通用标准——每平方厘米2毫克,你可以自信地保护你的皮肤免受有害紫外线伤害。

要使用此工具,请输入你的身高和体重,以便计算器可以使用医学公式估计你的体表面积。然后选择你的补涂频率——无论你计划每2小时补涂一次、游泳后还是运动后。该工具立即显示全身覆盖所需的防晒霜确切克数和每次补涂的用量,消除了防晒保护的猜测。

理解你的防晒霜需求至关重要,因为涂抹不足是防晒失效的首要原因。这个计算器帮助你避免使用仅建议用量的四分之一或二分之一的常见错误。无论你是在计划海滩日、户外登山还是日常紫外线保护,了解所需的确切用量可以确保你获得临床研究证明有效的保护。

常见问题

代码实现

# Sunscreen amount calculator based on 2mg/cm² rule

BODY_AREAS = {
    "face_neck":    600,   # cm²
    "chest":        900,
    "back":         900,
    "left_arm":     800,
    "right_arm":    800,
    "left_leg":    1450,
    "right_leg":   1450,
    "left_foot":    175,
    "right_foot":   175,
}

RECOMMENDATION_MG_PER_CM2 = 2.0  # WHO / dermatology standard

def calculate_sunscreen(selected_areas: list[str], reapply_every_hours: float = 2,
                         sun_hours: float = 4) -> dict:
    total_area = sum(BODY_AREAS[a] for a in selected_areas if a in BODY_AREAS)
    per_application_mg = total_area * RECOMMENDATION_MG_PER_CM2
    per_application_ml = per_application_mg / 1000  # convert mg to g ≈ ml

    applications = 1 + int(sun_hours / reapply_every_hours) if reapply_every_hours > 0 else 1
    total_ml = per_application_ml * applications

    return {
        "area_cm2": total_area,
        "per_application_ml": round(per_application_ml, 1),
        "applications": applications,
        "total_ml": round(total_ml, 1),
    }

result = calculate_sunscreen(
    selected_areas=["face_neck", "chest", "left_arm", "right_arm"],
    reapply_every_hours=2,
    sun_hours=6,
)
print(f"Per application: {result['per_application_ml']} ml")
print(f"Applications needed: {result['applications']}")
print(f"Total needed: {result['total_ml']} ml")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.