我有格式如下例所示的变量:
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"
关于Groovy 中的日期到星期几,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225794/