9
votes

Groovy / Grails Date Classe - Obtenir la journée du mois

Actuellement, j'utilise actuellement le code suivant pour obtenir année, jour, jour du mois, heure et minute à Groovy: xxx

à l'aide de getat (calendrier.day_of_of_month) pour la journée du mois semble un peu incompatible dans ce contexte. Y a-t-il une façon plus courte d'obtenir la journée du mois?


5 commentaires

Pourquoi faites-vous maintenant? Yyear + 1900?


MyKola: nouvelle date (). L'année est actuellement 109, d'où la nécessité d'ajouter 1900.


Mais pourquoi ajoutez-vous cela à une "année" et ne l'utilisez pas?


Année, mois, jour, heure et minute sont utilisés plus tard dans le code.


Qu'en est-il de milli ou de micro secondes? J'ai essayé maintenant.Milliseconds ou microsecondes, mais pas de propriété de ce type


5 Réponses :


7
votes

Toutes ces lignes ne sont-elles pas des ordures? Les deux lignes suivantes font le travail dans un groovysh xxx

à utiliser ceci à votre code réel et non dans la console xxx


3 commentaires

Ce code me donne 6 à la console Groovysh. Si c'est ce que vous voulez que c'est la réponse.


Le problème n'obtient pas le jour du mois. Le problème le fait de manière cohérente.


la "ordures" est en fait le contexte de la question



2
votes

La façon dont vous le faites est la seule façon. L'objet de date Java stocke le mois et le jour, mais ne stocke aucune information, telle que la durée du mois donné ou de quel jour du mois. Vous devez utiliser la classe de calendrier pour connaître beaucoup de ces informations.


0 commentaires

1
votes

Cette version est relativement terres: xxx


1 commentaires

Absolument, mais comparez-la aux autres lignes. Je cherchais un moyen cohérent de le faire.



11
votes

Si vous ajoutez ce qui suit à votre code, il devrait affecter le jour du mois au jour de la journée entier:

def now = Date.parse("yyyy-MM-dd", "2009-09-15")
assert 15 == now.date


2 commentaires

Merci! Je ne sais pas comment je me manquerais!


Peut-être que vous l'avez manqué à cause de l'horrible API!



2
votes

Vous pouvez obtenir juste le jour du mois à partir d'une date code> dans Groovy comme ceci:

​Date date = new Date()
int dayOfMonth = date[Calendar.DAY_OF_MONTH]


0 commentaires