snsFormat method

String snsFormat({
  1. String? secAgo = '秒前',
  2. String? minutesAgo = '分前',
  3. String? hoursAgo = '時間前',
  4. String? yesterday = '昨日',
  5. String baseFormat = 'yyyy/MM/dd',
})

Implementation

String snsFormat({
  String? secAgo = '秒前',
  String? minutesAgo = '分前',
  String? hoursAgo = '時間前',
  String? yesterday = '昨日',
  String baseFormat = 'yyyy/MM/dd',
}) {
  final Duration difference = DateTime.now().difference(this);
  final int diffSec = difference.inSeconds;

  if (diffSec < 60) {
    if (secAgo != null) {
      return '$diffSec $secAgo';
    }
  } else if (diffSec < 60 * 60) {
    if (minutesAgo != null) {
      return difference.inMinutes.toString() + minutesAgo;
    }
  } else if (diffSec < 60 * 60 * 24) {
    if (hoursAgo != null) {
      return difference.inHours.toString() + hoursAgo;
    }
  } else if (diffSec < 60 * 60 * 24 * 2) {
    if (yesterday != null) {
      return yesterday;
    }
  }

  return format(baseFormat);
}