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
}