using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Beehive.CloudReader.Utility
{
public static class DateTimeExtensions
{
/// <summary>
///
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static string ToRelativeDateTimeT(this DateTime dateTime)
{
var time = DateTime.Now - dateTime; //如果不在同一年 则直接显示年月日
if ((int.Parse(dateTime.ToString("yyyy")) - int.Parse(DateTime.Now.ToString("yyyy"))) != ) // if (time.TotalDays > 365)
return dateTime.ToString("yyyy-MM-dd");
if (time.TotalDays > )
return dateTime.ToString("M月d日 HH:mm");
else
{
var day = DateTime.Now.Date - dateTime.Date;
if (day.Days == )
return string.Format("前天{0:HH:mm}", dateTime);
if (day.Days == )
return string.Format("昨天{0:HH:mm}", dateTime);
if (time.TotalMinutes > )
return string.Format("今天{0:HH:mm}", dateTime);
if (time.TotalSeconds > )
return string.Format("{0}分钟前", time.Minutes);
if (time.TotalSeconds < && time.TotalDays >= )
return "刚刚";
else
{
if (time.Days == && dateTime.Date == DateTime.Now.Date)
return string.Format("今天{0:HH:mm}", dateTime);
if (time.TotalDays >= -)
return string.Format("明天{0:HH:mm}", dateTime);
if (time.TotalDays < - && time.TotalDays > -)
return string.Format("后天{0:HH:mm}", dateTime);
return dateTime.ToString("M月d日 HH:mm");
}
}
} public static string ToRelativeDateTimeDay(this DateTime dateTime)
{
var time = DateTime.Now - dateTime; //如果不在同一年 则直接显示年月日
if ((int.Parse(dateTime.ToString("yyyy")) - int.Parse(DateTime.Now.ToString("yyyy"))) != ) // if (time.TotalDays > 365)
return dateTime.ToString("yyyy-MM-dd");
if (time.TotalDays > )
return dateTime.ToString("M月d日");
else
{
var day = DateTime.Now.Date - dateTime.Date;
if (day.Days == )
return string.Format("前天", dateTime);
if (day.Days == )
return string.Format("昨天", dateTime);
if (time.TotalMinutes > )
return string.Format("{0:HH:mm}", dateTime);
if (time.TotalSeconds > )
return string.Format("{0}分钟前", time.Minutes);
if (time.TotalSeconds < && time.TotalDays >= )
return "刚刚";
else
{
if (time.Days == && dateTime.Date == DateTime.Now.Date)
return string.Format("{0:HH:mm}", dateTime);
if (time.TotalDays >= -)
return string.Format("明天", dateTime);
if (time.TotalDays < - && time.TotalDays > -)
return string.Format("后天", dateTime);
return dateTime.ToString("M月d日");
}
}
} /// <summary>
///
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static long ToTimeStamp(this DateTime dateTime)
{
var stamp = dateTime.Ticks - new DateTime(, , ).Ticks;
return stamp / - * * ;
} public static string ToWelcome(this DateTime dateTime)
{
var hour = DateTime.Now.Hour;
var msg = "";
if (hour >= && hour < )
{
msg = "早上好";
}
else if (hour >= && hour < )
{
msg = "上午好";
}
else if (hour >= && hour < )
{
msg = "中午好";
}
else if (hour >= && hour < )
{
msg = "下午好";
}
else
{
msg = "晚上好";
}
return msg;
}
}
}

时间转换:DateTimeExtensions的更多相关文章

  1. [jquery]将当前时间转换成yyyymmdd格式

    如题: function nowtime(){//将当前时间转换成yyyymmdd格式 var mydate = new Date(); var str = "" + mydate ...

  2. MySQL 日期、时间转换函数

    MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...

  3. java时间类型的转换/获取当前时间/将时间转换成String/将String转换成时间

    对于我的脑子,我已经服气了...写了N遍的东西,就是记不住...既然记不住那就记下来... 利用java获取当前的时间(String类型,年-月-日 时:分:秒) //我要获取当前的日期 Date d ...

  4. inner join ,left join ,right join 以及java时间转换

    1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1    a12    a23    a3表bbid  bdate1     ...

  5. Python基本时间转换

    时间转换 python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换. 把最基本的转换在这里记下来 string -> timestamp import time import dat ...

  6. Date类型时间转换

    /* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...

  7. unix环境C编程之日期时间转换

    1.理清概念 1.1.日历时间:   含义:国际标准时间1970年1月1日00:00:00以来经过的秒数.   数据类型:time_t.实际上是long的别名. 1.2.tm结构时间:   含义:结构 ...

  8. php时间转换unix时间戳

    本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...

  9. Js 处理将时间转换 “年-月-日”

    将时间  \/Date(1432828800000+0800)\/"  转换成:“年-月-日” //时间转换function ChangeDateFormat(val) {    if (v ...

  10. Java 时间转换问题总结

    这几天开发中遇到时间转换出错的问题,特总结如下:   ========================================================================= ...

随机推荐

  1. gtid 同步1050异常处理

    gtid 同步1050异常处理 .sql CREATE TABLE `fudao_student_lable` ( `id` ) NOT NULL AUTO_INCREMENT, `uid` ) un ...

  2. input框输入手机号码分隔显示

    在input框输入手机号码时,自动加入空格按照3,4,4位显示,如: 实现方法如下: <label>手机号码</label><input type="text& ...

  3. jmeter常见问题小结

    1,报500,查看信息头中的Content-Type 2,https的端口号是443 3,同一个线程组中,不同请求分别用到的字段都可以直接写在‘HTTP信息头管理器’中 4,Debug Sampler ...

  4. NTT 练习

    一 . Rikka with Subset  题目: http://acm.hdu.edu.cn/showproblem.php?pid=5829 参考  https://blog.csdn.net/ ...

  5. numpy中np.linalg.norm()求向量、矩阵的范数

    np.linalg.norm() # linalg = linear(线性) + algebra(代数),   norm表示范数 x_norm = np.linalg.norm(x, ord=None ...

  6. 十大免费SSL证书:网站免费添加HTTPS加密

    SSL证书,用于加密HTTP协议,也就是HTTPS.随着淘宝.百度等网站纷纷实现全站Https加密访问,搜索引擎对于Https更加友好,加上互联网上越来越多的人重视隐私安全,站长们给网站添加SSL证书 ...

  7. echarts ajax请求demo

    <body> <!--为ECharts准备一个具备大小(宽高)的Dom--> <div id="main" style="width: 10 ...

  8. UFLDL(Unsupervised Feature Learning and Deep Learning)

    UFLDL(Unsupervised Feature Learning and Deep Learning)Tutorial 是由 Stanford 大学的 Andrew Ng 教授及其团队编写的一套 ...

  9. ELK- elasticsearch 讲解,安装,插件head,bigdesk ,kopf,cerebro(kopf升级版)安装

    ElasticSearch:简称es ,分布式全文搜索引擎,使用java语言开发,面向文档型数据库,一条数据就是一个文档,数据用json序列化后存储. 默认端口:9200 借助redis来理解 red ...

  10. DP&图论 DAY 6 上午

    DP&图论  DAY 6  上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [ ...