van semana primera palabra minuscula meses mayuscula los letra ingles fundeu español escribio dias dela cursiva con como año abreviaturas abrevian abrevia scala calendar

semana - Scala-Obtenga una lista de días y meses para un año seleccionado



meses del año en cursiva (1)

Si puede usar Joda-Time, lo siguiente funcionó para mí:

import java.util.Calendar import org.joda.time.{DateTime, LocalDate, DurationFieldType} def allDaysForYear(year: String): List[(String, String, String)] = { val dateTime = new DateTime() val daysInYear = if(dateTime.withYear(year.toInt).year.isLeap) 366 else 365 val calendar = Calendar.getInstance calendar.set(year.toInt, 0, 0) val ld = LocalDate.fromCalendarFields(calendar) for { day <- (1 to daysInYear).toList updatedLd = ld.withFieldAdded(DurationFieldType.days, day) } yield (year, updatedLd.getMonthOfYear.toString, updatedLd.getDayOfMonth.toString) }

Hice una pregunta con respecto a esto aquí . Funciona bien y es una buena solución, sin embargo, me acabo de dar cuenta de que, en algunos casos, cuando java 1.8 NO está instalado, import java.time no está disponible. Tengo Java 1.7 y no puedo actualizar debido a muchos otros problemas.

después de Java 1.8

import java.time.{LocalDate, Year} def allDaysForYear(year: String): List[(String, String, String)] = { val daysInYear = if(Year.of(year.toInt).isLeap) 366 else 365 for { day <- (1 to daysInYear).toList localDate = LocalDate.ofYearDay(year.toInt, day) month = localDate.getMonthValue dayOfMonth = localDate.getDayOfMonth } yield (year, month.toString, dayOfMonth.toString) }

versiones antiguas de java:

entonces, por ejemplo, usando import java.util.{Calendar} ¿cómo se puede resolver el mismo problema? -> Obtenga todos los meses y días para un año determinado