BR
Tools
首页
PDF
▾
合并 PDF
拆分 PDF
旋转 PDF
整理 PDF
PDF 转图片
图片转 PDF
图片
▾
PNG ↔ JPG
PNG ↔ WebP
JPG ↔ WebP
PNG ↔ BMP
GIF → PNG
AVIF → PNG/JPG
HEIC → PNG/JPG
Base64
精灵图切割工具
调整图片大小
图片压缩
下载网站图片
文本
▾
删除空格
删除特殊字符
JSON 合并工具
字符计数器
大小写转换
文本反转
文本比较
查找与替换
单位换算
▾
进制转换器
速度换算器
温度换算器
长度换算器
重量换算器
体积换算器
BR
▾
Trabalhistas
Financeiras
Saúde
Tabelas de Referência
更多
▾
设计 / CSS
生成器
测试数据
日期与时间
训练
Login
▾
Português
English
Español
中文
Deutsch
Français
Polski
فارسی
Dia do Ano
Selecione o Ano
${formatoData(dataSelecionada)}`; itemContainer.innerHTML = ''; const itemInput = document.getElementById('itemInput'); for (let dia = 1; dia <= totalDias; dia++) { const diaBox = document.createElement('div'); diaBox.classList.add('boxitem'); diaBox.textContent = dia; const dataDia = new Date(ano, 0, 1); dataDia.setDate(dia); const textoDia = formatoData(dataDia); const porcentagem = ((dia / totalDias) * 100).toFixed(2); const popup = document.createElement('div'); popup.classList.add('popup'); popup.innerHTML = `Dia ${dia} (${porcentagem}%)
${textoDia}`; diaBox.appendChild(popup); diaBox.addEventListener('mouseover', function(event) { popup.style.display = 'block'; const popupRect = popup.getBoundingClientRect(); const windowWidth = window.innerWidth; const windowHeight = window.innerHeight; let leftPosition = event.clientX + 10; let topPosition = event.clientY + 10; if (leftPosition + popupRect.width > windowWidth) { leftPosition = windowWidth - popupRect.width - 10; } if (topPosition + popupRect.height > windowHeight) { topPosition = windowHeight - popupRect.height - 10; } popup.style.left = `${leftPosition}px`; popup.style.top = `${topPosition}px`; }); diaBox.addEventListener('mouseout', () => popup.style.display = 'none'); if (dataDia.getDate() === hoje.getDate() && dataDia.getMonth() === hoje.getMonth()) { diaBox.classList.add('itemgreen'); } else if (dia < diaAtual) { diaBox.classList.add('itemgray'); } else { diaBox.classList.add('itemblue'); } itemContainer.appendChild(diaBox); } } itemInput.addEventListener('input', function() { const anoSelecionado = parseInt(this.value, 10); gerarDiaDoAno(anoSelecionado); }); const anoAtual = new Date().getFullYear(); itemInput.value = anoAtual; gerarDiaDoAno(anoAtual);
💬
Sugestões e feedback
✕
Categoria
Reportar bug / erro
Sugestão de ferramenta
Melhoria no site
Dúvida de uso
Elogio / funciona bem
Outro assunto
Ideia de utilitário novo ou melhoria no Tools.
Mensagem
Incluir URL e alertas desta tela (sem senhas)
Página
—
Endereço
—
Idioma
—