[JAVA] Un mémo lorsque vous souhaitez effacer la partie horaire de l'agenda

Qu'est-ce que c'est?

Un mémo personnel lorsque vous souhaitez effacer la partie horaire des données de date et d'heure acquises par Agenda.

Tout d'abord, un exemple qui sort lorsque vous google

calenderObj.clear(Calendar.HOUR_OF_DAY);
calenderObj.clear(Calendar.HOUR);
calenderObj.clear(Calendar.MINUTE);
calenderObj.clear(Calendar.SECOND);
calenderObj.clear(Calendar.MILLISECOND);

Qu'est-ce qui ne va pas?

Écrivez un programme et vérifiez-le.


import java.util.Calendar;

public class CalendarClear {

    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();
        sysout(calendar);

        calendar.clear(Calendar.HOUR);
        calendar.clear(Calendar.MINUTE);
        calendar.clear(Calendar.SECOND);
        calendar.clear(Calendar.MILLISECOND);
        sysout(calendar);

        calendar.clear(Calendar.HOUR_OF_DAY);
        sysout(calendar);

    }

    private static final void sysout(Calendar calc) {

        System.out.println("/--------------------");

        System.out.println("YEAR:" + calc.get(Calendar.YEAR));
        System.out.println("MONTH:" + calc.get(Calendar.MONTH));
        System.out.println("DATE:" + calc.get(Calendar.DATE));
        System.out.println("HOUR_OF_DAY:" + calc.get(Calendar.HOUR_OF_DAY));
        System.out.println("HOUR:" + calc.get(Calendar.HOUR));
        System.out.println("MINUTE:" + calc.get(Calendar.MINUTE));
        System.out.println("SECOND:" + calc.get(Calendar.SECOND));
        System.out.println("MILLISECOND:" + calc.get(Calendar.MILLISECOND));

    }

}

Le résultat est le suivant.

/--------------------
YEAR:2017
MONTH:4
DATE:22
HOUR_OF_DAY:17
HOUR:5
MINUTE:25
SECOND:35
MILLISECOND:527
/--------------------
YEAR:2017
MONTH:4
DATE:22
HOUR_OF_DAY:17
HOUR:5
MINUTE:0
SECOND:0
MILLISECOND:0
/--------------------
YEAR:2017
MONTH:4
DATE:22
HOUR_OF_DAY:17
HOUR:5
MINUTE:0
SECOND:0
MILLISECOND:0

Les valeurs de HOUR_OF_DAY et HOUR ne sont pas effacées. C'est la bonne description.

public static void main(String[] args) {

    Calendar calendar = Calendar.getInstance();
    sysout(calendar);

    calendar.clear(Calendar.MINUTE);
    calendar.clear(Calendar.SECOND);
    calendar.clear(Calendar.MILLISECOND);
    //Pour effacer la partie temporelle, vous devez la mettre en set.
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    sysout(calendar);

    calendar.clear();
    sysout(calendar);

}

Cela est clairement indiqué dans JavaDoc. Calendar (Java Platform SE 7 )

Les champs HOUR_OF_DAY, HOUR et AM_PM sont traités séparément et les règles de résolution temporelle s'appliquent. La suppression de l'un des champs> ne réinitialise pas les «heures» de ce calendrier. Utilisez set (Calendar.HOUR_OF_DAY, 0) pour réinitialiser la valeur "heure".

Résultat du traitement.

/--------------------
YEAR:2017
MONTH:4
DATE:22
HOUR_OF_DAY:17
HOUR:5
MINUTE:27
SECOND:12
MILLISECOND:718
/--------------------
YEAR:2017
MONTH:4
DATE:22
HOUR_OF_DAY:0
HOUR:0
MINUTE:0
SECOND:0
MILLISECOND:0

prime

calendar.clear();

Quand tu fais

/--------------------
YEAR:1970
MONTH:0
DATE:1
HOUR_OF_DAY:0
HOUR:0
MINUTE:0
SECOND:0
MILLISECOND:0

Tous les éléments sont effacés.

Calendar (Java Platform SE 7 )

Définissez tous les champs de calendrier et les valeurs d'heure (en millisecondes de décalage par rapport à la période d'origine) pour ce calendrier sur indéfini.

Recommended Posts

Un mémo lorsque vous souhaitez effacer la partie horaire de l'agenda
[Swift] Lorsque vous voulez savoir si le nombre de caractères dans String correspond à un certain nombre ...
Définir l'heure de LocalDateTime à une heure spécifique
Lorsque vous souhaitez utiliser la méthode à l'extérieur
Remarques à vérifier lorsque vous essayez d'utiliser Lombok
[rails] Option After utile lorsque vous souhaitez modifier l'ordre des colonnes DB
Mémo à faire pour le moment lors de la construction de la série CentOS 6 avec VirtualBox
[outil java] Un outil utile lorsque vous souhaitez envoyer régulièrement le journal ipmsg de PC-A au PC spécifié.
Lorsque vous souhaitez modifier le libellé à afficher lors de la création d'une zone de sélection à partir d'énumération
Un mémo du programme que vous pouvez réaliser que la probabilité de lancer des dés est d'environ 1/6
Une collection de modèles dont vous voulez être conscient pour ne pas compliquer le code
[Controller] Je veux récupérer la valeur numérique d'une colonne spécifique de la base de données (mon mémo)
Comparaison des chaînes de version lorsque vous souhaitez brancher le traitement entre deux versions (implémentation Java)
Un mémorandum lorsque vous souhaitez voir les données acquises par Jena & SPARQL pour chaque variable.
[POST passé] Je publierai une partie du mémo réponse quand j'étais mentor de TECH :: CAMP
Conseils lorsque vous souhaitez insérer de nombreux sauts de ligne et tabulations lors du remplacement d'une chaîne de caractères
Lorsque vous souhaitez que Rails désactive une session pour un contrôleur spécifique
Je veux connaître le JSP du portlet ouvert lors du développement de Liferay
Résumé des moyens lorsque vous souhaitez communiquer avec HTTP sur Android
Je veux que vous utilisiez Enum # name () pour la clé de SharedPreference
Lorsque vous souhaitez ajouter une colonne de type chaîne avec une longueur limitée avec la commande `rails generate migration`
[RSpec] Lorsque vous souhaitez utiliser la variable d'instance du contrôleur dans le test [attribuer n'est pas recommandé]
Un exemple d'astuce lorsque vous souhaitez diviser la valeur de la définition en fonction de l'environnement mais ne voulez pas en être conscient
Si vous souhaitez satisfaire la couverture de test des méthodes privées dans JUnit
Comment créer une route directement à partir de l'URL que vous souhaitez spécifier + α
Faire une marge à gauche du TextField
Ce que j'ai essayé quand je voulais obtenir tous les champs d'un haricot
Lorsque vous souhaitez lier InputStream dans JDBI3
Je veux var_dump le contenu de l'intention
Une note quand vous voulez Tuple en Java
Je veux que vous utilisiez Scala comme meilleur Java pour le moment
J'ai réussi à obtenir un blanc lorsque j'ai apporté le contenu de Beans dans la zone de texte
Je veux obtenir récursivement la superclasse et l'interface d'une certaine classe
[Ruby] Lorsque vous souhaitez remplacer plusieurs caractères
La voie de la création d'un service Web (partie 1)
[JavaScript] Je souhaite limiter le traitement en vérifiant les éléments d'entrée lorsque le temps spécifié s'écoule lors de la mise au point.
Je veux que vous racontiez que l'erreur a été résolue lorsque vous avez poignardé le chargeur dans le coin de la tête
Comment supprimer le tweet associé à l'utilisateur lorsque vous le supprimez en même temps
[Solution] Un mémo que j'ai eu du mal car le format de sinatra-validation a changé.
[Rails] Je souhaite afficher la destination du lien de link_to dans un onglet séparé
Quand le survol d'Eclipse est difficile à voir
Je veux appeler une méthode d'une autre classe
Je veux connaître la réponse de l'application Janken
Je souhaite afficher le nom de l'affiche du commentaire
[Java] Lors de l'écriture du source ... Mémorandum ①
Mémo d'apprentissage lors de l'apprentissage de Java pour la première fois (mémo d'apprentissage personnel)
Lorsque vous souhaitez remplacer dynamiquement l'annotation dans Java 8