Uyku Döngüsü Hesaplayıcı
90 dakikalık uyku döngülerine göre optimal uyku ve uyanış sürelerini hesaplar.
Bu araç hakkında
Uyku Döngüsü Hesaplayıcı, 90 dakikalık uyku döngüleriyle çalışarak doğal uyku mimarinizi anlamanıza ve optimize etmenize yardımcı olur. Uyku döngüleri, vücudun hafif uyku, derin uyku ve REM uykusu (rüya uyku) aşamalarından geçerek tekrar eden doğal ritimidir. Tam bir döngünün sonunda uyanmak sizi dinlenmiş hissettirir, ancak döngünün ortasında uyanmak sizi saatler boyunca uyuşuk ve şaşkın bırakabilir.
Bu hesaplayıcıyı kullanmak için istediğiniz uyku veya uyanış saatini girin ve araç size bunun tam tersini yapmanız gereken optimal saatleri gösterecektir. Örneğin, sabah 7'de uyanmanız gerekiyorsa, hesaplayıcı tam 90 dakikalık döngüleri tamamlamak için ne zaman uyumanız gerektiğini hesaplar—22:30, 00:00 veya 01:30 gibi saatleri önerir. İster tam bir gece uyuması planlıyor ister hızlı bir uyku çekiyorsanız, bu yaklaşım uykunuzu vücudunuzun doğal ritmiyle uyumlaştırmanıza yardımcı olur.
Sıkça Sorulan Sorular
Kod Uygulaması
from datetime import datetime, timedelta
SLEEP_CYCLE_MINUTES = 90
FALL_ASLEEP_MINUTES = 14 # Average time to fall asleep
def wake_times_from_bedtime(bedtime: datetime, cycles: int = 5) -> list[datetime]:
"""Given a bedtime, return optimal wake-up times after N full 90-min cycles."""
fall_asleep = bedtime + timedelta(minutes=FALL_ASLEEP_MINUTES)
return [
fall_asleep + timedelta(minutes=SLEEP_CYCLE_MINUTES * i)
for i in range(1, cycles + 1)
]
def bedtimes_from_wake(wake_time: datetime, cycles: int = 5) -> list[datetime]:
"""Given a desired wake time, return bedtimes that allow N full 90-min cycles."""
return [
wake_time - timedelta(minutes=SLEEP_CYCLE_MINUTES * i + FALL_ASLEEP_MINUTES)
for i in range(1, cycles + 1)
]
# Example: bedtime at 11 PM
bedtime = datetime.now().replace(hour=23, minute=0, second=0, microsecond=0)
print(f"Bedtime: {bedtime.strftime('%I:%M %p')}")
print("Best wake times:")
for t in wake_times_from_bedtime(bedtime):
print(f" {t.strftime('%I:%M %p')} ({(t - bedtime).seconds // 60} min)")
# Example: must wake at 7 AM
wake = datetime.now().replace(hour=7, minute=0, second=0, microsecond=0)
print(f"\nWake time: {wake.strftime('%I:%M %p')}")
print("Best bedtimes:")
for t in bedtimes_from_wake(wake):
print(f" {t.strftime('%I:%M %p')}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.