Groovy 中的日期到星期几

标签 date 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"

关于Groovy 中的日期到星期几,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225794/

相关文章:

grails - 在集成测试中执行Grails筛选器

xml - 在 Groovy 中将 XML 转换为 JSON

java - Groovy 转换 - 来自 Java

php - 表单日期验证问题

bash - 更改修改日期以匹配电子邮件文件 cpanel 中的 "header sent date"

mongodb - 如何使用 MongoDb $gte 和 $lte 将日期和时间保存为单独字段上的字符串

mysql select where -- 从开始日期起每第 n 天重复一次 - 两个日期之间

groovy - 使用自定义任务编排Gradle构建调用

bash - Jenkins - 将参数传递给 groovy 函数

mysql - 是否有 SQL 查询将日期转换为年龄