我的变量格式如下例所示:
2011-03-07
从他们那里我想输出一周中的哪一天。例如:
Monday
甚至只是
Mon
我在Groovy工作,有什么想法吗?
答案 0 :(得分:21)
您可以使用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"
答案 1 :(得分:1)
new SimpleDateFormat('E').format Date.parse("10-jan-2010")
对我而言
答案 2 :(得分:0)
new SimpleDateFormat('E').format new SimpleDateFormat('yyyy-MM-dd').parse('2011-03-07')