gpt4 book ai didi

scala - 解析月份名称并创建日期范围

转载 作者:行者123 更新时间:2023-12-01 22:36:53 26 4
gpt4 key购买 nike

给定当前年份和一个完整字符串格式的任意月份(“april”),我如何创建这个月的日期范围?例如,如果给我“june”,我想创建date1 = "2014-06-01" 和 date2 = "2014-06-31"。我试图解析一个月:

DateTime.parse("january")
DateTime.parse("2014-january")
DateTime.parse("2014-january-01")

但它导致错误说它的参数是错误的。我可以使用另一个重载版本的解析,但由于它的 DateTimeFormatter 而变得非常困难。我不知道如何使用的参数。

我可以创建一个包含所有月份及其天数的 map ,但由于 Joda-Time有一个标准的方法来做到这一点,我决定不这样做。

我该怎么做?

最佳答案

我不太精通 scala,但由于它是 JVM,我会尝试一下,如果我犯了任何语法错误,请纠正我:

var strDate = "January"
var format = DateTimeFormat.forPattern("MMM")
var date = format.parseDateTime(strDate)
println(date)

var monthStart = new DateTime().withYear(2014).withMonthOfYear(date.getMonthOfYear()).withDayOfMonth(date.dayOfMonth().getMinimumValue())
var monthEnd = new DateTime().withYear(2014).withMonthOfYear(date.getMonthOfYear()).withDayOfMonth(date.dayOfMonth().getMaximumValue())

println("Month Start : " + monthStart)
println("Month End : " + monthEnd)

如果没有年份,jodatime 将默认为 2000,因此在设置 monthStartmonthEnd 时,我将其明确设置为 2014。

在 Java 中,我得到如下输出:

Month Start : 2014-01-01T15:00:26.174+05:30
Month End : 2014-01-31T15:00:26.179+05:30

让我知道进展如何!

关于scala - 解析月份名称并创建日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21749414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com