日期星期几在Groovy

问题描述:

我有一个格式类似于下面的例子变量:日期星期几在Groovy

2011-03-07 

,并从他们我要输出的一周中的一天。例如:

Monday 

甚至只是

Mon 

我在Groovy我的工作,任何想法?

您可以使用Date.parse将字符串转换为日期,然后使用Calendar.DAY_OF_WEEK对其进行索引以获取特定日期。例如:

assert Date.parse("yyyy-MM-dd", "2011-03-07")[Calendar.DAY_OF_WEEK] == Calendar.MONDAY 

如果您希望当天为字符串,请尝试Date.format方法。最终结果将取决于您的语言环境:

assert Date.parse("yyyy-MM-dd", "2011-03-07").format("EEE") == "Mon" 
assert Date.parse("yyyy-MM-dd", "2011-03-07").format("EEEE") == "Monday" 

有关格式化字符串的详细信息请参见SimpleDateFormat的文档。

如果您希望格式化为特定语言环境的日期,则必须创建SimpleDateFormat对象并传入语言环境对象。

fmt = new java.text.SimpleDateFormat("EEE", new Locale("fr")) 
assert fmt.format(Date.parse("yyyy-MM-dd", "2011-03-07")) == "lun." 
fmt = new java.text.SimpleDateFormat("EEEE", new Locale("fr")) 
assert fmt.format(Date.parse("yyyy-MM-dd", "2011-03-07")) == "lundi" 

new SimpleDateFormat('E').format new SimpleDateFormat('yyyy-MM-dd').parse('2011-03-07') 

new SimpleDateFormat('E').format Date.parse("10-jan-2010") 

整洁我