Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用groovy从日期开始计算日期_Groovy - Fatal编程技术网

如何使用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