gpt4 book ai didi

scala - 比较日期字符串与Scala中的实际日期

转载 作者:行者123 更新时间:2023-12-04 14:03:04 24 4
gpt4 key购买 nike

我正在寻找一种验证并比较从REST服务传递的日期字符串的好方法。

如果我将2012-12-25(年-月-日)以字符串形式传递,那么用什么绝妙的方法来确认它是有效日期,然后说该日期是将来的日期或过去的日期?

要在Scala中处理日期,显然可以使用现有的Java库。但是,在Java中使用日期一直像是在服务黑暗的一面,所以我不想将太多的遗留物拖到当前的编码风格中。查看Scala Dates example on langref.org,如果遵循这种编程风格,我会回到编码Java的角度。

最佳答案

JodaTime很好,很好,很好,不用担心阴暗面,它不存在(或者至少在这个特定的Java库中不存在)。

// "20121205".to_date
class String2Date(ymd: String) {
def to_date = {
try{ Some(ymdFormat.parseDateTime(ymd)) }
catch { case e:Exception => None }
}
val ymdFormat = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd")
}
@inline implicit final def string2Date(ymd: String) = new String2Date(ymd)

def dater(ymd: String) = {
val other = new JodaTime
ymd.to_date map{d=>
if(d.isBefore other) ...
else ...
} getOrElse("bad date format")
}

几乎可以执行与JodaTime相关的任何日期/时间;这个库多么出色是荒谬的:毫不犹豫的竖起大拇指。

关于scala - 比较日期字符串与Scala中的实际日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731041/

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