Minutos diários de idioma para uma meta
Cinquenta horas de idioma em 30 dias com uma folga por semana deixam 26 dias de prática e 3.000 minutos para distribuir: 116 minutos por dia, arredondando para cima, ou 58 por sessão se você dividir em duas. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Horas-meta
- 50
- Dias
- 30
- Horas concluídas
- 0
- Dias de descanso por semana
- 1
- Sessões por dia
- 2
- Horas restantes
- 50
- Minutos restantes
- 3.000
- Semanas completas
- 4
- Dias de descanso no período
- 4
Quem estuda um idioma costuma pensar em minutos, não em horas abstratas: vinte minutos de conversação, um bloco de trinta minutos no Anki, uma aula de uma hora. Uma calculadora de minutos diários de idioma para uma meta transforma um alvo total de horas, os dias de calendário disponíveis, as horas já registradas, as folgas semanais e quantas sessões você deseja em cada dia de prática em um plano concreto de minutos por dia e por sessão. Informe cinquenta horas em trinta dias com um dia de folga por semana e duas sessões diárias, e a ferramenta subtrai quatro folgas da janela, reparte os três mil minutos restantes em vinte e seis dias de prática e informa cerca de cento e quinze minutos por dia de prática, ou cerca de cinquenta e oito por sessão.
Da meta em horas aos minutos de prática, folgas e sessões
Uma meta de estudo de idiomas expressa em horas indica quanto contato focado você pretende acumular: falar, ouvir, ler, escrever ou revisão mista. Quem aprende e quem ensina ainda agenda esse trabalho em minutos, porque um bloco de calendário é um cronômetro, não uma hora de planilha. Esta calculadora primeiro converte o hiato de horas restantes em minutos restantes e depois reparte esses minutos pelos dias de prática que sobrevivem à sua regra semanal de folga.
As horas restantes são o intervalo não negativo entre a meta total e as horas já registradas, de modo que o progresso nunca force um alvo diário negativo. Os minutos restantes são esse intervalo vezes sessenta. Dividir os minutos restantes por esses dias de prática gera o ritmo diário uniforme que termina a meta de horas quando a janela acaba, se você praticar essa quantidade em cada dia de prática.
Sessions_per_day então parte o total diário para que um bloco de conversação de manhã e outro de revisão à noite compartilhem a carga. Dias de calendário fracionários são permitidos como números finitos —um sprint de meio dia ou um intensivo de fim de semana—, mas uma contagem de zero dias ou menos é rejeitada porque nenhum cronograma pode distribuir trabalho em nenhum dia.
Quem organiza o estudo de idioma em minutos
Desafios de autoestudo, como cem horas de espanhol antes de uma viagem ou cinquenta horas de japonês antes de um teste de nivelamento, precisam de uma cifra de minutos por dia que caiba numa semana real com um domingo livre, não de um rateio cru de horas por dia que ignora a folga. Tutores e escolas de idiomas incorporam o caminho gratuito do navegador para que o orçamento de horas do período vire um par de durações de sessão que o aluno pode colocar na agenda.
Professores podem demonstrar em aula a regra das folgas: cinquenta horas em trinta dias com uma folga semanal não é cinquenta vezes sessenta dividido por trinta, porque quatro folgas deixam vinte e seis dias de prática. Validação falha não consome saldo, o que mantém baratos os scripts exploratórios quando um desenvolvedor envia de propósito uma janela de zero dias.
Prefira esta capacidade quando você já conhece os totais de horas e quer minutos de prática linguística, contagem de folgas e um recorte em sessões; se só precisa de um ritmo genérico de horas por dia sem folgas nem minutos, use uma ferramenta de horas diárias de estudo, e deixe a dificuldade da repetição espaçada ou a evidência de habilidades CEFR fora desta divisão linear de minutos restantes.
Casos de uso
Desafios de horas no autoestudo
Transforme uma meta de cinquenta ou cem horas de idioma e a data de uma viagem ou exame em minutos diários e por sessão, incluindo um dia de folga semanal.
Sessões de SRS e de apps de conversação
Divida o alvo diário de minutos em duas ou três sessões cronometradas para que Anki, conversação e compreensão oral tenham cada um o seu bloco.
Perguntas frequentes
Como os dias de folga semanais são contados?
Trinta dias com uma folga por semana produzem quatro folgas e vinte e seis dias de prática. Os dias sobressalentes após a última semana completa não acrescentam outra folga.
A calculadora escolhe datas de calendário ou dias da semana?
Não. Ela conta apenas dias de calendário e folgas de semanas completas. Não atribui segunda nem domingo e não consulta um relógio. Escolha no seu próprio planejador quais dias da semana são de folga.
O que acontece se eu já tiver algumas horas registradas?
Informe essas horas e elas saem da meta antes de qualquer divisão. A diferença nunca fica negativa: quando as horas registradas alcançam a meta, os minutos diários vão a zero e o resultado avisa que a meta já foi cumprida.
Por que os minutos diários são arredondados para cima?
Porque um cronômetro ou um bloco na agenda precisa de minutos inteiros, e arredondar para baixo deixaria você um pouco abaixo da meta. Por isso 3.000 minutos em 26 dias aparecem como 116 por dia e 58 por sessão.
Dá para dividir cada dia em uma sessão de manhã e outra à noite?
Sim. Escolha quantas sessões quer por dia de prática, de 1 a 24, e o total diário é dividido em partes iguais entre elas; com duas sessões, a meta do dia vira dois blocos mais curtos.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/edu/language-daily-minutes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"goal_hours":50,"days":30}'const res = await fetch("https://api.kit.forhosting.com/edu/language-daily-minutes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"goal_hours": 50,
"days": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/language-daily-minutes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"goal_hours": 50,
"days": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/language-daily-minutes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"goal_hours":50,"days":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"goal_hours":50,"days":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/language-daily-minutes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"goal_hours": 50,
"days": 30
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.language_daily_minutes",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Quando as horas já registradas atingem a meta, os minutos diários caem para zero e already_reached fica verdadeiro. Uma janela de zero dias ou uma escala de folgas sem nenhum dia de prática é rejeitada com invalid_input.
Da meta em horas aos minutos de prática, folgas e sessões
Os dias de folga não se espalham pelos dias sobressalentes: só cada semana completa de sete dias dentro da janela recebe rest_days_per_week dias inteiros livres, assim trinta dias de calendário com uma folga por semana produzem quatro folgas e vinte e seis dias de prática. Quando as horas restantes já são zero, os minutos diários e por sessão são zero e already_reached é verdadeiro, para que os planejadores parem de agendar blocos em vez de inventar prática negativa. Os campos teto daily_minutes_ceil e session_minutes_ceil elevam os quocientes exatos a minutos inteiros para que um cronômetro ou um app de estudo reserve um bloco sem praticar a menos por causa do arredondamento.
Contrato de entrada, formato da resposta e erros
Prefira números simples a strings com unidades; strings numéricas só são aceitas quando batem com um padrão estrito de número finito sem vírgulas nem rótulos. Envie um corpo JSON com dois números finitos obrigatórios e três campos opcionais de ritmo. goal_hours (aliases total_hours, target_hours, hours_goal) é a meta não negativa de horas de idioma. days (aliases days_left, days_available, calendar_days) é a janela de calendário e deve ser estritamente maior que zero. hours_completed (aliases completed, already_practiced, hours_done) vale zero quando omitido e deve ser não negativo quando presente. rest_days_per_week (aliases rest_days, weekly_rest, off_days) é um inteiro de zero a seis e vale zero por padrão; sete folgas numa semana não deixariam dia de prática e são rejeitadas. sessions_per_day (aliases sessions, sessions_daily) é um inteiro de um a vinte e quatro e vale um por padrão. Os valores absolutos permanecem dentro de um trilhão para que os produtos intermediários continuem finitos em precisão dupla IEEE no Worker e no navegador. Em caso de sucesso a resposta ecoa as entradas arredondadas, remaining_hours e remaining_minutes, full_weeks, rest_days_in_window, practice_days, daily_minutes e daily_minutes_ceil, session_minutes e session_minutes_ceil, weekly_practice_days, weekly_minutes, total_planned_minutes, already_reached, uma fórmula documentada, uma mensagem breve em inglês e passos de substituição ordenados. Falhas de validação —campos ausentes, números não finitos, valores fora dos limites absolutos, totais ou horas registradas negativas, uma contagem de folga ou de sessões que não seja inteira, uma folga ou sessão fora da faixa, uma janela de dias nula ou negativa, ou uma escala de folgas sem dia de prática— devolvem invalid_input e não são cobradas. O preço é um US$ 0,002 fixo por chamada bem-sucedida com unidade item.
Onde uma API de minutos diários de idioma se paga
Apps SRS e de prática oral chamam o mesmo módulo puro quando quem aprende define uma meta de horas e uma data, e recalculam quando hours_completed é atualizado após cada sessão registrada. Como a implementação é trabalho analítico parse de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Casos de integração
Ritmo de tutoria e de período escolar
Converta o orçamento de horas do curso em minutos dos dias de prática que os alunos podem colocar na agenda e atualize conforme hours_completed cresce.
Perguntas técnicas
Como calculo os minutos diários de prática de idioma para uma meta?
Envie goal_hours (não negativo) e days (estritamente positivo). Opcionalmente envie hours_completed (padrão 0), rest_days_per_week (0–6, padrão 0) e sessions_per_day (1–24, padrão 1). A API devolve os minutos restantes, os dias de prática após as folgas de semanas completas, daily_minutes e session_minutes.
E se eu já registrei horas de idioma suficientes?
Quando hours_completed é maior ou igual a goal_hours, daily_minutes e session_minutes valem 0 e already_reached é verdadeiro. Nenhum tempo de prática negativo é devolvido.
Quanto custa a calculadora de minutos diários de idioma?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.