2016-05-19 12 views
0

ich die PlayFramework mit Anorm bin mit einer Liste der Daten in der Datenbank gespeichert zu bekommen:Anorm eine Liste von Terminen

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


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

    } 

    } 

Aber wie ich eine Liste mit Datums- und Uhrzeitformat bekommen zu wissen, dass meine Daten sind in einem Datumstyp gespeichert? ex: 2016-02-11

Am Ende möchte ich so eine Liste haben:

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

Dank

Antwort

0

, wenn Sie Datetime wollen in scala zu formatieren, verwenden Sie einfach Methode toString wie diese

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

Was Ihre Frage, können Sie zunächst das Ergebnis als Array erhalten [Datetime], dann die Datetime in das Format ändern, die Sie wollen.

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 
} 

Viel Glück