calendar_time
MomentJS 的日曆時間實現,以及許多其他輔助方法。
MomentJS 的 calendarTime 的 Dart 實現
以下為英文專案原文快照,最新內容請造訪 GitHub。
Implementation of MomentJS's calendarTime function and some other helpful utilities.
I expect this project will get replaced with another more ambitious project in the future, but this has come in very handy. Extensions and pull requests welcome.
Converting a DateTime to a human readable string
import 'package:calendar_time/calendar_time.dart';
main(){
CalendarTime(DateTime.now()).toHuman; //Today at {current time}
}
Example output:
Honestly just check the code, but it is in line with Moment's logic.
You can also call .toHumanMultiLine that splits the output around at to have date and time on different lines.
Formats to current timezone
import 'package:calendar_time/calendar_time.dart';
main(){
CalendarTime(DateTime.now()).format("yyyy-MM-dd HH:mm");
}
See https://pub.dev/documentation/intl/latest/intl/DateFormat-class.html for options.
Return if the supplied DateTime is today
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.isToday; //true
}
Return if the supplied DateTime is tomorrow
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.isTomorrow; //false
}
Return if the supplied DateTime is next week
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.isNextWeek; //false
}
Return if the supplied DateTime is yesterday
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.isYesterday; //false
}
Return if the supplied DateTime is last week
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.isLastWeek; //false
}
Return the beginning of today - not to be confused with startOfDay
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.startOfToday; // DateTime
}
Return the beginning of the day of the CalendarTime obejct.
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime(2020,1,1));
calendarTime.startOfDay; // 2020/01/01 0:0:0am
}
Return the beginning of yesterday
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.startOfYesterday; // DateTime start of yesterday
}
Return the beginning of lastWeek
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.startOfLastWeek; // DateTime start of yesterday
}
Return the end of today (23:59:59:999:999) - not to be confused with endOfDay
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.endOfToday; // DateTime
}
Return the end of the day of the CalendarTime object (23:59:59:999:999)
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime(2020, 1,1));
calendarTime.endOfToday; // 2020/01/01 23:59:59:999:999
}
Return the end of tomorrow
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.endOfTomorrow; // DateTime
}
Return the end of next week
import 'package:calendar_time/calendar_time.dart';
main(){
final calendarTime = CalendarTime(DateTime.now());
calendarTime.endOfNextWeek; // DateTime
}