using System;
using System.Collections.Generic;
using System.Text;

namespace Edu.Common.Plugin
{
    public class FriendTimeHelper
    {
        public static String FriendFormat(long dateTime)
        {
            String fTime = String.Empty;
            try
            {
                DateTime dt = new DateTime(dateTime);
                return FriendFormat(dt);
            }
            catch
            {
                return dateTime.ToString();
            }
        }

        public static String FriendFormat(String dateTime)
        {
            String fTime = String.Empty;
            try
            {
                DateTime dt = DateTime.Parse(dateTime);
                return FriendFormat(dt);
            }
            catch
            {
                return dateTime;
            }
        }


        public static String FriendFormat(DateTime dateTime)
        {
            if (dateTime == null)
            {
                return String.Empty;
            }
            int nowYear = DateTime.Now.Year;
            int year = dateTime.Year;
            if (nowYear - year == 0)
            {
                //本年内
                int nowMounth = DateTime.Now.Month;
                int mounth = dateTime.Month;
                if (nowMounth - mounth == 0)
                {
                    //本月内
                    int nowDay = DateTime.Now.Day;
                    int day = dateTime.Day;
                    if (nowDay - day == 0)
                    {
                        //当天
                        int nowHour = DateTime.Now.Hour;
                        int hour = dateTime.Hour;
                        if (nowHour - hour == 0)
                        {
                            int nowMinute = DateTime.Now.Minute;
                            int minute = dateTime.Minute;
                            int diff = nowMinute - minute;
                            if (diff < 2)
                            {
                                return "刚刚";
                            }
                            else
                            {
                                return $"{diff} 分钟前";
                            }
                        }
                        else
                        {
                            return dateTime.ToString("HH:mm:ss");
                        }
                    }
                    else
                    {
                        return dateTime.ToString("dd HH:mm:ss");
                    }
                }
                else
                {
                    //跨月
                    return dateTime.ToString("MM-dd HH:mm:ss");
                }
            }
            else
            {
                //跨年
                return dateTime.ToString("yyyy-MM-dd HH:mm:ss");
            }
        }
    }
}