Anorm返回日期列表

时间:2016-05-19 21:21:57

标签: scala anorm

我正在使用PlayFramework和Anorm来获取存储在我的数据库中的日期列表:

 def getDatesFromDB(): List[Array[String]] = {


    db.withConnection { implicit c =>
      SQL("Select [dateStart] from [dbo].[dates]").as(scalar[Array[String]].*);

    }

  }

但是我怎么能知道我的日期存储在日期类型中?例如:2016-02-11

最后,我希望有一个这样的列表:

  new DateTime("2016-01-17"),
    new DateTime("2016-01-20"),
    new DateTime("2016-01-23"),
     ....

由于

1 个答案:

答案 0 :(得分:0)

如果你想在scala中格式化DateTime,只需使用像这样的方法toString

val myDate = DateTime.now()
val myFormatDate = myDate.toString("yyyy-MM-dd")

至于你的问题,你可以先将结果作为Array [DateTime],然后将DateTime更改为你想要的格式。

def getDatesFromDB(): List[Array[String]] = {

    val result_tmp = db.withConnection { implicit c =>
        SQL("Select [dateStart] from [dbo].[dates]").as(scalar[Array[String]].*)
    }
// Referred to your code, the type of result_tmp should be List[Array[DateTime]]
// we can format it as you want with the following code

    val result = result_tmp.map { item =>
        item.map { myDate => myDate.toString("yyyy-MM-dd") 
    }

   result
}
祝你好运