| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import 'package:app_settings/app_settings.dart';
- import 'package:fast/view/component/alert_widget.dart';
- import 'package:flutter/material.dart';
- class Util {
- Size boundingTextSize(String text, TextStyle style,
- {int maxLines = 2 ^ 31, double maxWidth = double.infinity}) {
- TextPainter textPainter = TextPainter(
- textDirection: TextDirection.ltr,
- text: TextSpan(text: text, style: style),
- maxLines: maxLines)
- ..layout(maxWidth: maxWidth);
- return textPainter.size;
- }
- int getYearFromTimenum(int num) {
- String dayNum = num.toString();
- return int.parse(dayNum.substring(0, 4));
- }
- int getMonthFromTimenum(int num) {
- String dayNum = num.toString();
- return int.parse(dayNum.substring(4, 6));
- }
- int getDayFromTimenum(int num) {
- String dayNum = num.toString();
- return int.parse(dayNum.substring(6, 8));
- }
- String checkFormateDate(DateTime date,DateTime now){
- if (date.day == now.day){
- return '今天'+ date.hour.toString().padLeft(2,'0')+':'+date.minute.toString().padLeft(2,'0');
- }
- DateTime yesterday = DateTime.fromMillisecondsSinceEpoch(now.millisecondsSinceEpoch-24*3600*1000);
- if (date.day==yesterday.day){
- return '昨天'+ date.hour.toString().padLeft(2,'0')+':'+date.minute.toString().padLeft(2,'0');
- }
- DateTime tomorrow = DateTime.fromMillisecondsSinceEpoch(now.millisecondsSinceEpoch+24*3600*1000);
- if (date.day==tomorrow.day){
- return '明天'+ date.hour.toString().padLeft(2,'0')+':'+date.minute.toString().padLeft(2,'0');
- }
- return date.month.toString().padLeft(2,'0')+'月'+date.day.toString().padLeft(2,'0')+'日 '+ date.hour.toString().padLeft(2,'0')+':'+date.minute.toString().padLeft(2,'0');
- }
- String betweenTime(DateTime start,DateTime end){
- int seconds = (end.millisecondsSinceEpoch-start.millisecondsSinceEpoch)~/1000;
- // int hours = seconds~/3600;
- // int minutes = seconds%3600~/60;
- // String str = '';
- // if (hours>0){
- // str = hours.toString()+'小时';
- // }
- // if (minutes>0){
- // str = str+minutes.toString()+'分钟';
- // }
- return betweenTimeBySeconds(seconds);
- }
- String betweenTimeBySeconds(int seconds){
- int hours = seconds~/3600;
- int minutes = seconds%3600~/60;
- String str = '';
- if (hours>0){
- str = hours.toString()+'小时';
- }
- if (minutes>0){
- str = str+minutes.toString()+'分钟';
- }
- return str;
- }
- void showNotificationStatus(BuildContext context) {
- showDialog(
- context: context,
- barrierDismissible: false,
- barrierColor: const Color(0xF2000D1F),
- builder: (BuildContext context) {
- return AlertWidget(
- title: '为了您的计时能得到及时提醒\n请开启fast16cc为你提供的消息通知推送',
- confirm: '去开启',
- confirmCallback: () {
- AppSettings.openNotificationSettings();
- Navigator.of(context).pop();
- });
- });
- }
- }
|