如何使用groovy从日期开始计算日期
我想从约会中得到一天(前太阳、周一、周二等)如何使用groovy从日期开始计算日期,groovy,Groovy,我想从约会中得到一天(前太阳、周一、周二等) def date = new Date() def day = date[Calendar.DAY_OF_MONTH] 结果是18,但我想得到一个 如果我有2017-10-09T00:00:00.000,我想得到2017-10-09T00:00:00.000的日期 你能帮我吗?试试日历。一周中的第几天。这将返回一个int,稍后您可以将其映射到相应的字符串。尝试使用SimpleDateFormat,并使用EE格式告知一周中的几天 请尝试以下代码: d
def date = new Date()
def day = date[Calendar.DAY_OF_MONTH]
结果是18,但我想得到一个
如果我有2017-10-09T00:00:00.000
,我想得到2017-10-09T00:00:00.000的日期
你能帮我吗?试试日历。一周中的第几天。这将返回一个
int
,稍后您可以将其映射到相应的字符串。尝试使用SimpleDateFormat,并使用EE格式告知一周中的几天
请尝试以下代码:
def date = new Date()
SimpleDateFormat("EE").format(date) // EE means days of week
您可以使用此选项输出星期天名称的三个字符表示形式:
theDate = "2017-10-09T00:00:00.000";
def parsedDate = new Date().parse("yyyy-MM-dd'T'HH:mm:ss.SSS", theDate);
def day = new java.text.SimpleDateFormat("EEE", Locale.ENGLISH).format(parsedDate);
或者全名使用EEEE
模式
请确保指定区域设置,因为这可能因服务器配置而异。以下代码可能会有所帮助。它首先获取今天的日期,即2017年9月18日,然后将其传递到日历实例中 日历实例然后以整数形式获取日期,即星期一=2,然后使用map获得值2后,我们称其为星期一
def date = new Date()
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
def day = calendar.get(Calendar.DAY_OF_WEEK);
def map=[
1:"Sunday",
2:"Monday",
3:"Tuesday",
4:"Wednesday",
5:"Thursday",
6:"Friday",
7:"Saturday"]
log.info map[day]
使用
Calendar.DAY\u OF_WEEK
并映射到{1:“Sunday”,2:“Monday”,…}
中的相应字符串。如果将索引偏移-1
,则自然可以使用数组。因为您已通过日期[日历.月日]
,所以得到18
。那是今天的日期。改用日期[Calendar.DAY OF_WEEK]
如果我有2017-10-09T00:00:00.000,我想得到2017-10-09T00:00:00.000,如果我有2017-10-09T00:00:00.000,我想得到2017-10-09T00:00:00.000,我无法编译这是发生的错误<代码>捕获:groovy.lang.MissingPropertyException:没有这样的属性:�? 对于类:java.util.Date可能的解决方案:day groovy.lang.MissingPropertyException:无此类属性:�? 对于类:java.util.Date可能的解决方案:Test.run(Test.groovy:2)当我从这个页面复制它时,我看到了不应该在那里的额外点(第二行日期上的点).;代码>)。只需检查您复制的内容是否与显示的内容一致。我在上面试过代码,它运行得很好。。。增加了带有打印日期的额外行代码>以查看输出。显然,我的代码段包含一个隐藏字符。我删除了它,现在复制和粘贴应该可以工作了。如果构建持续一天以上,该值是否也会更改,还是在作业开始时设置一次?@JakubJabłoński,这完全取决于您的实现。从Calendar.DAY\u OF_WEEK返回的int值将更改,但不会更新现有变量,因此您必须调用Calendar.DAY\u OF_WEEK