import 'package:didvan/config/design_config.dart'; import 'package:flutter/material.dart'; import 'package:persian_datetime_picker/persian_datetime_picker.dart'; class DateTimeUtils { static TimeOfDay stringToTimeOfDay(String input) => TimeOfDay( hour: int.parse(input.split(':')[0]), minute: int.parse(input.split(':')[1]), ); static String normalizeTimeDuration(Duration input) { String minute; String second; if (input.inMinutes < 10) { minute = '0${input.inMinutes}'; } else { minute = input.inMinutes.toString(); } int realSeconds = input.inSeconds % 60; if (realSeconds < 10) { second = '0$realSeconds'; } else { second = (realSeconds).toString(); } return '$minute:$second'; } static Future showDatePicker( {String? initialDate, String? startDate, String? endDate}) async { final initDate = initialDate == null ? null : DateTime.parse(initialDate); final initialJalali = Jalali.fromDateTime(initDate ?? DateTime.now()); final firstDate = Jalali.fromDateTime( startDate == null ? DateTime(2021) : DateTime.parse(startDate), ); final lastDate = Jalali.fromDateTime( endDate == null ? DateTime.now() : DateTime.parse(endDate), ); final Jalali? result = await showPersianDatePicker( context: DesignConfig.context, initialDate: initialJalali, firstDate: firstDate, lastDate: lastDate, ); return result?.toDateTime().toString(); } }