✨DateUtil - Ki-Kobayashi/flutter_wiki GitHub Wiki

🟩 下記パッケージをインストール

https://pub.dev/packages/intl https://pub.dev/packages/timeago

🟡 timeago の設定(main.dart)

// 👇別名をつけてインポート(公式の書き方)
import 'package:timeago/timeago.dart' as timeago;

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 👇以下追加
  timeago.setLocaleMessages("ja", timeago.JaMessages());

🟩 Util

import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';
import 'package:timeago/timeago.dart' as timeago;

// 👇以下はクラスに内包(DateUtils.dart)し、staticにして呼び出した方がいい

DateTime convertDateTimeFromString(String dateTimeString) {
  return DateFormat(
    'yyyy年MM月dd日 HH時mm分',
  ).parse(dateTimeString);
}

String convertStringFromDateTime(DateTime dateTime) {
  initializeDateFormatting("ja");
  // E;曜日
  return DateFormat('M/d(E)H:mm', 'ja').format(dateTime);
}

// 現在時刻を取得
String nowDateTimeString() {
  return DateFormat('yyyy年MM月dd日 HH時mm分').format(DateTime.now());
}


/// 「yyyy年MM月dd日 hh時mm分」→「M/d h:mm」
String convertSimpleDateTime(String dateTimeString) {
  final dateTime = convertDateTimeFromString(dateTimeString);
  return convertStringFromDateTime(dateTime);
}

/// XXX前表示
String createTimeAgo(String dateTimeString) {
  if (dateTimeString == '') return '';

  final dateTime = convertDateTimeFromString(dateTimeString);
  final now = DateTime.now();
  final difference = now.difference(dateTime);

  return timeago.format(now.subtract(difference), locale: "ja");
}

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

⚠️ **GitHub.com Fallback** ⚠️