Programa Java para mostrar el nombre de los días de la semana en el año calendario

Concepto : en java, cuando se trata de problemas de fecha y hora después de aplicar el método de fuerza bruta, siempre se debe recordar la clase de fecha de java, que no solo proporciona imprimir el año, mes, día, fecha, hora, hora actual o próximo, minutos, e incluso precisión a segundos. No solo uno puede mostrar estos parámetros, sino que también se puede formatear para mostrarlos todos en diferentes formatos. Esta clase da un paso adelante.

Ahora, para mostrar el nombre de los días de la semana en un año calendario:

Enfoques:

  • Uso de la clase de formato de fecha existente
  • Usando el enfoque de fuerza bruta

Enfoque 1: Uso de la clase DateFormat

Se utiliza para mostrar datos y la hora y manipular la fecha y la hora en Java y, además de esto, también se utiliza para dar formato a la fecha, la hora, la semana, los meses y los años en Java en los datos asociados a la zona horaria. 

Nota: la época es el 1 de enero de 1970

 Entonces, para importar esta clase desde un paquete llamado java.utils

Sintaxis:

import java.util.Date ;

Después de importar esta clase, se puede crear un objeto de la clase Fecha para imprimir la fecha y la hora actuales. Ahora, para imprimir la fecha y hora predeterminadas, simplemente llame al comando de impresión usando el método toString() para obtener la fecha y hora actuales. Supongamos que si el usuario quiere una fecha, hora y mes en particular de una hora actual:

Ejemplo de muestra: código simple para aclarar la implementación de la clase de fecha antes de continuar mostrando el nombre de los días de la semana.

Java

// Java Program to Display name of the weekdays in calendar
// year Sample code showing different data class parameters
 
// Importing Libraries
import java.util.Date;
import java.util.*;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating an object of Date class- date
        Date date = new Date();
 
        // Printing date
        System.out.println(date.toString());
        System.out.println(date.getTime());
 
        // Remember to add 1 to it because this print
        // current month Jan is assigned 0
        System.out.println(date.getMonth() + 1);
 
        // Remember to add 1 to it because this print
        // epoch year 1970 is set as reference
        system.out.println(date.getYear() + 1900);
 
        // For week internally it starts with Monday=1
        System.out.println(date.getDay(date));
        // no ambiguity here in displaying week
    }
}

 
Entonces, si uno quiere imprimir la fecha y la hora en diferentes formatos personalizados, fecha, hora, días de la semana, años, etc., cuál es el objetivo de la declaración del problema. 

  1. Se va a importar una clase llamada texto
  2. Luego se usa una clase llamada- SimpleDateFormat
  3. Ahora, después de esto, un método debe llamarse format

Sintaxis: 

import java.text.*;

El siguiente código Java ilustra el uso de la clase incorporada invocada: 

Java

// Importing generic Classes/Files
import java.io.*;
 
// Importing specific text class for formatting
//  week via inbuilt function getweek() of data class
import java.text.DateFormatSymbols;
// Dealing with week parameter of data class
 
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Inbuilt function to invoke weekdays by creating
        // an object of DateFormatSymbols
        String[] week_days
            = new DateFormatSymbols().getWeekdays();
 
        // Computing length to get end bound
        // for iteration
        int length = week_days.length;
 
        // Loop is started with 2 because 0th day is
        // saturday and 1st day is sunday
        for (int d = 2; d < (length - 1); d++) {
 
            // Iterating over the string array of weekdays
            // to get respective names
            String day = week_days[d];
 
            // Printing ith index weekday
            System.out.println((d - 1) + "th weekday - "
                               + day);
        }
    }
}
Producción

1th weekday - Monday
2th weekday - Tuesday
3th weekday - Wednesday
4th weekday - Thursday
5th weekday - Friday

DateFormatSymbols es una clase integrada en Java disponible públicamente que se usa para combinar varias entidades de datos de formato de fecha y hora, como los nombres de los meses, los días de la semana y los datos asociados a la zona horaria. Los DateFormatSymbols son utilizados por SimpleDateFormat para realizar el encapsulado de la información capturada. Esta clase admite un método integrado getWeekdays() de DateFormatSymbols que se utiliza para recuperar el nombre de los días de la semana del calendario. Todos los días se devuelven en formato de string. El método tiene la siguiente sintaxis en Java:  

String[] getWeekdays() 
  • El método no acepta argumentos ni parámetros.
  • Devuelve los nombres de los días de la semana del calendario en forma de array de strings.

Enfoque 2: Fuerza bruta 

Hay cinco días de la semana en un calendario, que se pueden mantener en forma de una array de strings y simular un ciclo for o while iterando sobre la array que contiene los días de la semana o un caso de cambio simple.  

Java

// Importing generic Classes/Files
import java.io.*;
 
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating a list of weekdays
        String[] weekdays
            = { "Monday", "Tuesday", "Wednesday",
                "Thursday", "Friday" };
 
        // Iterating 5 times only
        // since there are 5 weekdays
        for (int d = 1; d < 6; d++) {
 
            // Message printing weekdays in calendar year
            System.out.println(d + "th weekday - "
                               + weekdays[d - 1]);
        }
    }
}
Producción

1th weekday - Monday
2th weekday - Tuesday
3th weekday - Wednesday
4th weekday - Thursday
5th weekday - Friday

Publicación traducida automáticamente

Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *