Groovy/Grails date-Klasse - erste Tag des Monats
Derzeit bin ich mit folgenden code ein, um Jahr, Monat, Tag des Monats, Stunde und minute in Groovy:
Date now = new Date()
Integer year = now.year + 1900
Integer month = now.month + 1
Integer day = now.getAt(Calendar.DAY_OF_MONTH) //inconsistent!
Integer hour = now.hours
Integer minute = now.minutes
//Code that uses year, month, day, hour and minute goes here
Mit getAt(Calendar.DAY_OF_MONTH)
für den Tag des Monats scheint ein wenig inkonsistent in diesem Zusammenhang. Gibt es einen kürzeren Weg, um den Tag des Monats?
- Warum machst du jetzt.Jahr + 1900?
- Mykola: new Date().Jahr ist derzeit 109, daher die Notwendigkeit zum hinzufügen von 1900.
- Aber warum tun Sie dies hinzufügen, einige 'Jahre' und benutzen Sie es nicht?
- Jahr, Monat, Tag, Stunde und minute werden später im code.
- was ist mit milli oder Mikro-Sekunden? ich versuchte nun.Millisekunden oder Mikrosekunden, aber keine solche Eigenschaft
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie fügen Sie den folgenden code es sollte weisen Sie den Tag des Monats an dem Tag, Integer:
Hier ist ein stand-alone-Beispiel:
Nicht alle diese Linien sind Art von Müll?
Die folgenden beiden Zeilen tun der job in einer groovysh
Verwenden Sie diese zu Ihrem echten code und nicht in der Konsole
Die Art und Weise Sie tun es ist der einzige Weg. Die java-date-Objekt speichert Monat und Tag, aber speichert keine Informationen darüber, wie lange der Monat ist oder an welchem Tag des Monats Ihr auf. Sie müssen verwenden Sie die Kalender-Klasse, um herauszufinden, eine Menge von dieser info.
Diese version ist ziemlich knapp:
Können Sie erhalten nur den Tag des Monats aus einem
Date
in Groovy wie diese: