モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

Scala 日付に関する処理

モーダルを閉じる

ステッカーを選択してください

お支払い手続きへ
モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2016/01/31
最終更新最終更新
2018/05/05
記事区分記事区分
一般公開

Date クラスを文字列にフォーマット

import java.util.Date

object Main {
  def main(args: Array[String]): Unit = {

    // format は Date に限らない文字列用の機能です。
    println("%d-%d-%d" format (1, 1, 1)) //=> 1-1-1
    println("%d-%<d-%<d" format (1))     //=> 1-1-1

    // 日付用のフォーマット
    println("%tF" format new Date) //=> 2016-01-31
    println("%tY-%<tm-%<td %<tH:%<tM:%<tS %<tZ %<tz" format new Date) //=> 2016-01-31 11:32:36 JST +0900
  }
}

Joda-Time

高機能な日付関連の処理用ライブラリ Joda-Time を使用する例を記載します。

pom.xml (maven)

<dependency>
  <groupId>joda-time</groupId>
  <artifactId>joda-time</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>org.joda</groupId>
  <artifactId>joda-convert</artifactId>
  <version>1.8</version>
</dependency>

build.sbt

libraryDependencies ++= Seq(
  "joda-time" % "joda-time" % "2.9.2",
  "org.joda" % "joda-convert" % "1.8" // http://www.joda.org/joda-convert/
)

Main.scala

import org.joda.time.{DateTime, DateTimeZone}

object Main {
  def main(args: Array[String]): Unit = {

    // Date からの変換
    val juDate = new java.util.Date()
    val dt = new DateTime(juDate)

    // 数値からの変換
    val dt2 = new DateTime(9999, 12, 31, 23, 59, 59)

    // タイムゾーン指定
    val jst = new DateTime(DateTimeZone.forID("Asia/Tokyo"))
    val utc = new DateTime(DateTimeZone.UTC)

    // 文字列に変換
    val now = new DateTime
    println(now.toString("yyyy/MM/dd HH:mm:ss ZZ")) //=> 2016/01/31 14:39:13 +09:00

    // 加減算の例
    var _dt = dt.plusYears(1)
    _dt = dt.plusMonths(-1)
    _dt = dt.minusDays(1)

    // 数値に変換
    println(dt.getYear()) //=> 2016
    println(dt.getMonthOfYear()) //=> 1
    println(dt.getDayOfMonth()) //=> 31
    println(dt.getMillis()) // タイムスタンプ (1970/1/1 からのミリ秒) 1454218982482
  }
}
Likeボタン(off)0
詳細設定を開く/閉じる
アカウント プロフィール画像

Scalaはいいぞ

記事の執筆者にステッカーを贈る

有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

>>さらに詳しくステッカーを贈る
ステッカーを贈る コンセプト画像

Feedbacks

Feedbacks コンセプト画像

    ログインするとコメントを投稿できます。

    ログインする

    関連記事

    • Scala 文字列の処理
      書式指定 object Main { def main(args: Array[String]): Unit = { println("%d + %d = %d".format(1, 1, 2)) //=> 1 + 1 = 2 } } 文字列の比較 ヒアドキュメント 他の言語でいう「ヒアドキュメント」のようなものは """ で囲うことで実現できます。 object Main ...
      したくんしたくん5/18/2018に更新
      いいねアイコン画像0
    • 酢豚の基本的な使い方 (sbt)
      sbt は Scala および Java を主な対象としたビルドツールです。Scala Build Tool の略ではありませんが、Simple Build Tool という明示的な記述も公式ドキュメントなどには見当りません。以下 sbt の基本的な使用例をまとめます。使用した sbt のバージョンは 0.13 です。 公式ドキュメント [sbt 0.13](http://www.scala-sb...
      ねこねこ5/30/2018に更新
      いいねアイコン画像0
    • Scala 関数のサンプルコード
      「デフォルト引数」および「Unit 型を返す関数」 object HelloWorld { def main(args: Array[String]): Unit = { def myPrint(myArg: String = "default_value") = println(myArg + "!") val result = myPrint() //=> defau...
      したくんしたくん5/26/2018に更新
      いいねアイコン画像0
    • Scala 組み込みの制御構造
      if-else 条件分岐で知られる if-else は三項演算子のようにも使用されます。 object HelloWorld { def main(args: Array[String]): Unit = { val myVal = if (!args.isEmpty) args(0) else "default" println(myVal) } ...
      したくんしたくん9/7/2021に更新
      いいねアイコン画像0
    • Scala の基本文法
      Scala は JVM 上で動作するバイトコードにコンパイルできる言語です。JAVA よりも柔軟な記述ができます。事前にこちらからダウンロードおよびインストールしておいてください。基本的な文法をまとめます。 変数および定数 object HelloWorld { def main(args: Array[String]): Unit = { val constVal = 1 //
      したくんしたくん9/7/2021に更新
      いいねアイコン画像0