✨DateUtil - Ki-Kobayashi/flutter_wiki GitHub Wiki
https://pub.dev/packages/intl https://pub.dev/packages/timeago
// 👇別名をつけてインポート(公式の書き方)
import 'package:timeago/timeago.dart' as timeago;
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// 👇以下追加
timeago.setLocaleMessages("ja", timeago.JaMessages());
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");
}
.
.
.
.
.
.
.
.
.