public class Functions
{
public static string GetTimeSpan(DateTime bdate, DateTime edate)
{
TimeSpan ts = edate.Subtract(bdate);
int c = 60;
int d = 60 * c;
int e = 24 * d;
int f = 7 * e;
if (c > ts.TotalSeconds)
{ return "刚刚"; }
else if (d > ts.TotalSeconds)
{ return ts.Minutes.ToString() + "分钟前"; }
else if (e > ts.TotalSeconds)
{ return ts.Hours.ToString() + "小时前"; }
else if (f > ts.TotalSeconds)
{ return ts.Days.ToString() + "天前"; }
else { return (ts.Days / 7).ToString() + "周前"; }
}
/// <summary>
/// 12小时制
/// </summary>
/// <param name="bdate"></param>
/// <param name="edate"></param>
/// <returns></returns>
public static string GetTime12SpanDetail(DateTime bdate, DateTime edate)
{
//时间差的绝对值
TimeSpan ts = bdate.Subtract(edate).Duration();
//判断是否跨年
if (bdate.ToString("yyyy") == edate.ToString("yyyy"))
{
//判断时间是小于24小时
if (ts.TotalHours < 24)
{
return ChackTime(bdate) + bdate.ToString("hh:mm");
}
//判断时间是大于24小时且未跨年
else if (ts.TotalHours >= 24)
{
return bdate.ToString("MM") + "月" + bdate.ToString("dd") + "日" + ChackTime(bdate) + bdate.ToString("hh:mm");
}
else
{
return ChackTime(bdate) + bdate.ToString("hh:mm");
}
}
else
{
//跨年
return bdate.ToString("yyyy") + "年" + bdate.ToString("MM") + "月" + bdate.ToString("dd") + "日" + ChackTime(bdate) + bdate.ToString("hh:mm");
}
}
/// <summary>
/// 12小时制
/// </summary>
/// <param name="bdate"></param>
/// <param name="edate"></param>
/// <returns></returns>
public static string GetTime12Span(DateTime bdate, DateTime edate)
{
//时间差的绝对值
TimeSpan ts = bdate.Subtract(edate).Duration();
//判断是否跨年
if (bdate.ToString("yyyy") == edate.ToString("yyyy"))
{
//判断时间是小于24小时
if (ts.TotalHours < 24)
{
return ChackTime(bdate) + bdate.ToString("hh:mm");
}
//判断时间是大于24小时且未跨年
else if (ts.TotalHours >= 24)
{
return bdate.ToString("MM") + "月" + bdate.ToString("dd") + "日";
}
else
{
return ChackTime(bdate) + bdate.ToString("hh:mm");
}
}
else
{
//跨年
return bdate.ToString("yyyy") + "年" + bdate.ToString("MM") + "月" + bdate.ToString("dd") + "日";
}
}
/// <summary>
/// 判断时间是上午还是下午
/// </summary>
/// <param name="bdate"></param>
/// <returns></returns>
public static string ChackTime(DateTime bdate)
{
if (Convert.ToInt32(bdate.ToString("HH")) >= 13)
return "下午";
else
return "上午";
}
public static string GetVisitTimeSpan(DateTime bdate, DateTime edate)
{
TimeSpan ts = edate.Subtract(bdate);
int c = 60;
int d = 60 * c;
int e = 24 * d;
int f = 7 * e;
int g = 30 * e;
if (c > ts.TotalSeconds)
{ return "刚刚"; }
else if (d > ts.TotalSeconds)
{ return ts.Minutes.ToString() + "分钟前"; }
else if (e > ts.TotalSeconds)
{ return ts.Hours.ToString() + "小时前"; }
else if (f > ts.TotalSeconds)
{ return ts.Days.ToString() + "天前"; }
else if (g > ts.TotalSeconds)
{ return (ts.Days / 7).ToString() + "周前"; }
else { return (ts.Days / 30).ToString() + "月前"; }
}
public string GetFileJson(string filepath)
{
string json = string.Empty;
using (FileStream fs = new FileStream(filepath, FileMode.Open, System.IO.FileAccess.Read, FileShare.ReadWrite))
{
using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312")))
{
json = sr.ReadToEnd().ToString();
}
}
return json;
}
/// <summary>
/// 重写比较对象所有不为空的属性值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t">要比较的原对象</param>
/// <param name="equalObj">被比较的对象</param>
/// <returns></returns>
public static bool Equals<T>(T t, T equalObj)
{
foreach (PropertyInfo pi in typeof(T).GetProperties())
{
if (null == pi.GetValue(equalObj, null))
continue;
if (pi.PropertyType.Module.Name == "System.Data.Entity.dll")
continue;
if (!pi.GetValue(equalObj, null).Equals(pi.GetValue(t, null)))
return false;
}
return true;
}
/// <summary>
/// 修改属性值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t">数据库中待修改的对象(从数据库中获取出来的完整对象)</param>
/// <param name="changT">要被保存的对象</param>
public static void SetModelValue<T>(T t, T changT) where T : new()
{
try
{
foreach (PropertyInfo pi in typeof(T).GetProperties())
{
if (pi.GetValue(changT, null) == null)
continue;
if (pi.PropertyType.Module.Name == "System.Data.Entity.dll")
continue;
pi.SetValue(t, pi.GetValue(changT, null), null);
}
}
catch (Exception ex)
{
throw new Exception(string.Format("在给{0}的对象赋值时出错,出错信息:{1}", t.GetType().Name, ex.Message));
}
}
}
C#时间转换几秒几分钟.....前
猜你喜欢
转载自blog.csdn.net/qq_27462223/article/details/87917375
今日推荐
周排行