Created
May 22, 2026 01:00
-
-
Save RobertoBarros/35b0afc0f9c39ef1e431d855315d7918 to your computer and use it in GitHub Desktop.
batch 2203 Livecode Days to Xmas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 'date' é uma biblioteca padrão no Ruby que nos permite trabalhar com datas. | |
| require 'date' | |
| # Definindo uma função chamada 'days_to_xmas'. Ela tem um parâmetro chamado 'today' que por padrão é a data de hoje. | |
| def days_to_xmas(today = Date.today) | |
| # Pegamos o ano da data 'today' e o atribuímos à variável 'xmas_year'. | |
| xmas_year = today.year | |
| # Criamos um novo objeto de data para o dia de Natal do ano atual. | |
| xmas_day = Date.new(xmas_year, 12, 25) | |
| # Se a data 'today' for maior que 'xmas_day', então significa que o Natal deste ano já passou. | |
| if today > xmas_day | |
| # Então, aumentamos o ano em 1 para obter o próximo ano e o atribuímos à variável 'next_xmas_year'. | |
| next_xmas_year = xmas_year + 1 | |
| # E então criamos um novo objeto de data para o dia de Natal do próximo ano. | |
| xmas_day = Date.new(next_xmas_year, 12, 25) | |
| end | |
| # Ao subtrair a data 'today' da data 'xmas_day', obtemos a diferença em dias. | |
| # Usamos 'to_i' para converter o resultado em um número inteiro. | |
| # E então retornamos esse valor. | |
| return (xmas_day - today).to_i | |
| end | |
| # Dias para o natal a partir de hoje | |
| date = Date.today | |
| puts "Hoje é #{date.strftime('%d/%m/%Y')}. Faltam #{days_to_xmas(date)} dias para o natal." | |
| # Dias para o natal a partir de 12/06/2026 | |
| today = Date.new(2026,6,12) | |
| puts "Hoje é #{today.strftime('%d/%m/%Y')}. Faltam #{days_to_xmas(today)} dias para o natal." | |
| # Dias para o natal a partir de 30/12/26 | |
| today = Date.new(2026,12,30) | |
| puts "Hoje é #{today.strftime('%d/%m/%Y')}. Faltam #{days_to_xmas(today)} dias para o natal." | |
| # Dias para o natal a partir de 26/12/2077 | |
| today = Date.new(2077,12,26) | |
| puts "Hoje é #{today.strftime('%d/%m/%Y')}. Faltam #{days_to_xmas(today)} dias para o natal." | |
| # Dias para o natal a partir de 25/12/2077 | |
| today = Date.new(2077,12,25) | |
| puts "Hoje é #{today.strftime('%d/%m/%Y')}. Faltam #{days_to_xmas(today)} dias para o natal." | |
| today = Date.new(2077,1,1) | |
| puts "Hoje é #{today.strftime('%d/%m/%Y')}. Faltam #{days_to_xmas(today)} dias para o natal." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment