1

次のように、数値を分割しようとしています

20130405

年、月、日の 3 つの部分に分けられます。1 つの方法は、文字列に変換して正規表現を使用することです。何かのようなもの:

(\d{4})(\d{2})(\d{2}).r

より良い方法は、100 で割ることです。

var date = dateNumber
val day = date % 100
date /= 100
val month = date % 100
date /= 100
val year = date

Scala で「var」を使用すると、かゆくなります。それを行うより良い方法はありますか?

4

4 に答える 4

0

あまりスケーラっぽくないけど...

scala> import java.util.Calendar
import java.util.Calendar

scala> val format = new java.text.SimpleDateFormat("yyyyMMdd")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@ef87e460

scala> format.format(new java.util.Date())
res0: String = 20131025

scala> val d=format.parse("20130405")
d: java.util.Date = Fri Apr 05 00:00:00 CEST 2013

scala> val calendar = Calendar.getInstance
calendar: java.util.Calendar = [cut...]

scala> calendar.setTime(d)

scala> calendar.get(Calendar.YEAR)
res1: Int = 2013
于 2013-10-25T14:08:40.360 に答える