首页 > 解决方案 > 如果时间在特定时间之前或之后显示早上好/下午好?

问题描述

希望有人能指出我正确的方向,但基本上希望根据当前时间显示特别受欢迎的消息。

例如,在 12 点之前显示早安

关于如何做到这一点的任何建议?

标签: flutterdart

解决方案


对于当前时间,

import 'package:intl/intl.dart'; 

DateTime now = DateTime.now();

print(now.hour.toString() + ":" + now.minute.toString() + ":" + now.second.toString());

时间过后,您只需检查时间条件。喜欢

早上好

  • 上午 12 点至上午 11 点 59 分

  • (12 到 11:59)24 小时制

下午好

  • 中午 12 点至下午 4 点 59 分

  • (24 到 16:59) 24 小时制

晚上好

  • 下午 5 点至晚上 7 点 59 分
  • (17 至 19:59) 24 小时制

晚安

  • 晚上 8 点至晚上 11:59

  • (20 至 22:59)24 小时制

之后只需通过简单的条件检查,

    String greeting = ""; 
    int hours=now.hour;


    if(hours>=1 && hours<=12){ 
    greeting = "Good Morning"; 
    } else if(hours>=12 && hours<=16){
     greeting = "Good Afternoon"; 
    } else if(hours>=16 && hours<=21){ 
    greeting = "Good Evening";
     } else if(hours>=21 && hours<=24){ 
    greeting = "Good Night"; 
    }

Print("your message:-"+greeting);

推荐阅读