【Dart】日付の書式設定をする

  • URLをコピーしました!

Dartで日付を文字列にするにはintlパッケージを使うことでいろいろな書式で文字列に変換することができます。

目次

intlパッケージをインストールして使う準備をする

intlパッケージはSDKに含まれていないので、dartコマンドでインストールします。

VSCodeを使用している場合はCtrl+@でターミナルを起動できます。

あわせて読みたい
WindowsでのFlutter開発にVSCodeを使う 【はじめに】 WindowsでFlutter開発を行うためにFlutter SDKやAndroid Studioのインストールが完了していることを前提としています。 ※まだの場合はこちらの記事を参考...

ターミナル上でpubコマンドを使ってパッケージを追加します。

dart pub add intl

パッケージを追加したらプロジェクトのpubspec.yamlファイルに次の設定を追加が追加されています。

dependencies:
  intl: ^0.17.0

これで準備は完了。

書式を簡易的に指定する

ログ等に日時を出力する場合は、一定の書式であれば日本語で出力する必要はありません。

しかし月日をゼロ埋めして桁を揃えたい場合は、システムのロケールなど気にせずintlパッケージを使いましょう。

STEP
パッケージのインポート

intlパッケージを使うためにimportします。

import 'package:intl/intl.dart';
STEP
書式を指定

DateFomartクラスに書式を指定して文字列に変換できます。

print(DateFormat('yyyy-MM-dd HH:mm:ss.SSS').format(DateTime.now()));

上のソースを実行すると次のような出力が得られます。

2022-02-01 01:00:00.000

ロケールを指定(日本語で日付を表示)

日本語で日時の文字列を取得する場合は、ロケールを設定する必要があります。

STEP
パッケージのインポート

intlパッケージを使うためにimportします。

また、日付を日本語化するにはdate_system_date_local.dartもインポートする必要があります。

import 'package:intl/intl.dart';
import 'package:intl/date_symbol_data_local.dart';
STEP
ロケールの設定

日付を日本語化するにはロケールの設定をする必要があります。

これはプロジェクト内で一度だけ呼び出します。

initializeDateFormatting('ja_JP');  // ロケールの設定(プロジェクト内で一度だけ呼び出せばよい)
STEP
書式を指定

DateFomartクラスに書式を指定して文字列に変換できます。

 print('yMMMEd is ' + DateFormat('yMMMEd', 'ja').format(now));
 print('HH:mm:ss.SSS is ' + DateFormat('HH:mm:ss.SSS', 'ja_JP').format(now));

上のソースを実行すると次のような出力が得られます。

yMMMEd is 2022年2月1日(火)
HH:mm:ss.SSS is 01:00:00.000

Flutterオススメ書籍

SWELL

当サイトではWordPressのテーマとして を利用しています。

よかったらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次