目前我正在使用以下代码来获取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
在这个月中使用getAt(Calendar.DAY_OF_MONTH)
似乎有点不一致。有没有更短的方法来获得该月的哪一天?
答案 0 :(得分:11)
如果您在代码中添加以下内容,则应将该月的日期指定为整数日:
Integer day = now.date
这是一个独立的例子:
def now = Date.parse("yyyy-MM-dd", "2009-09-15")
assert 15 == now.date
答案 1 :(得分:7)
这些线路都不是垃圾吗? 以下两行在groovysh
中完成工作date = new Date()
date.getAt(Calendar.DAY_OF_MONTH)
要在真实代码中使用它,而不是在控制台中使用
def date = new Date()
def dayOfMonth = date.getAt(Calendar.DAY_OF_MONTH)
答案 2 :(得分:2)
你这样做是唯一的方法。 java日期对象存储月份和日期,但不存储任何信息,例如给定月份的持续时间或月份的当天。您需要使用Calendar类来查找大量此类信息。
答案 3 :(得分:1)
这个版本相当简洁:
Calendar.instance.get(Calendar.DAY_OF_MONTH)
答案 4 :(得分:0)
您可以从Groovy中的Date
获取该月中的某一天:
Date date = new Date()
int dayOfMonth = date[Calendar.DAY_OF_MONTH]