La manière de voter, Long Int en Scala?

Je voudrais utiliser ce qui suit de la fonction de convertir de Joda Temps de timestamp Unix:


def toUnixTimeStamp(dt : DateTime) : Int = {
  val millis = dt.getMillis
  val seconds = if(millis % 1000 == 0) millis / 1000
    else { throw new IllegalArgumentException ("Too precise timestamp") }

  if (seconds > 2147483647) {
    throw new IllegalArgumentException ("Timestamp out of range")
  }

  seconds
}

Valeurs de temps j'ai l'intention de les obtenir ne sont jamais attendus à la milliseconde-précis, ils sont en second lieu précis de l'UTC par le contrat et doivent être enregistrées (dans une base MySQL) que Int, Unix standard horodatages sont notre norme d'entreprise pour les records de temps. Mais Joda Time fournit seulement getMillis et pas getSeconds, donc, je dois obtenir un Long ordre de la milliseconde précis d'horodatage et de le diviser par 1000 pour produire une norme timestamp Unix.

Et je suis bloqué faire Scala de faire un Int d'une valeur de type Long. Comment faire un tel casting?

InformationsquelleAutor Ivan | 2011-10-16