How to format the date and time in timeline views in the Flutter Calendar?
Using the Flutter Event Calendar, you can customize the day, date and time formats of the timeline views using the given instructions given below.
Step 1:
Use the dayFormat, dateFormat, timeFormat properties of the timeSlotViewSettings for day, date, and time format customization.
child: SfCalendar( view: CalendarView.timelineDay, allowedViews: <CalendarView>[ CalendarView.timelineDay, CalendarView.timelineWeek, CalendarView.timelineWorkWeek, CalendarView.timelineMonth ], dataSource: _getDataSource(), timeSlotViewSettings: TimeSlotViewSettings( dayFormat: 'EEEE', dateFormat: 'dd', timeFormat: 'hh:mm a'), ),
Step 2:
Please find the entire code snippet.
import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; void main() => runApp(TimelineViewsDateTimeFormat()); class TimelineViewsDateTimeFormat extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold( body: SafeArea( child: SfCalendar( view: CalendarView.timelineDay, allowedViews: <CalendarView>[ CalendarView.timelineDay, CalendarView.timelineWeek, CalendarView.timelineWorkWeek, CalendarView.timelineMonth ], dataSource: _getDataSource(), timeSlotViewSettings: TimeSlotViewSettings( dayFormat: 'EEEE', dateFormat: 'dd', timeFormat: 'hh:mm a'), ), ), )); } _DataSource _getDataSource() { final List<Appointment> appointments = <Appointment>[]; appointments.add(Appointment( startTime: DateTime.now().add(Duration(hours: 4)), endTime: DateTime.now().add(Duration(hours: 5)), subject: 'Meeting', color: Colors.red, )); appointments.add(Appointment( startTime: DateTime.now().add(Duration(days: -2, hours: 4)), endTime: DateTime.now().add(Duration(days: -2, hours: 5)), subject: 'Development Meeting New York, U.S.A', color: Color(0xFFf527318), )); appointments.add(Appointment( startTime: DateTime.now().add(Duration(days: -2, hours: 3)), endTime: DateTime.now().add(Duration(days: -2, hours: 4)), subject: 'Project Plan Meeting Kuala Lumpur, Malaysia', color: Color(0xFFfb21f66), )); appointments.add(Appointment( startTime: DateTime.now().add(Duration(days: -2, hours: 2)), endTime: DateTime.now().add(Duration(days: -2, hours: 3)), subject: 'Support - Web Meeting Dubai, UAE', color: Color(0xFFf3282b8), )); appointments.add(Appointment( startTime: DateTime.now().add(Duration(days: -2, hours: 1)), endTime: DateTime.now().add(Duration(days: -2, hours: 2)), subject: 'Project Release Meeting Istanbul, Turkey', color: Color(0xFFf2a7886), )); appointments.add(Appointment( startTime: DateTime.now().add(const Duration(hours: 4, days: -1)), endTime: DateTime.now().add(const Duration(hours: 5, days: -1)), subject: 'Release Meeting', color: Colors.lightBlueAccent, isAllDay: true)); appointments.add(Appointment( startTime: DateTime.now().add(const Duration(hours: 2, days: -4)), endTime: DateTime.now().add(const Duration(hours: 4, days: -4)), subject: 'Performance check', color: Colors.amber, )); appointments.add(Appointment( startTime: DateTime.now().add(const Duration(hours: 11, days: -2)), endTime: DateTime.now().add(const Duration(hours: 12, days: -2)), subject: 'Customer Meeting Tokyo, Japan', color: Color(0xFFffb8d62), )); appointments.add(Appointment( startTime: DateTime.now().add(const Duration(hours: 6, days: 2)), endTime: DateTime.now().add(const Duration(hours: 7, days: 2)), subject: 'Retrospective', color: Colors.purple, )); return _DataSource(appointments); } } class _DataSource extends CalendarDataSource { _DataSource(List<Appointment> source) { appointments = source; } }
Screenshots
Figure 1: Timeline day |
Figure 2: Timeline week
|
Figure 3: Timeline work week |
Figure 4: Timeline month |
Conclusion
I hope you enjoyed learning about how to format the date and time in timeline views in the Flutter Calendar.
You can refer to our Flutter calendar feature tour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications. You can also explore our Flutter example to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!