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. freemarker 生成word

    一.生成模板,动态获取的部分用${变量名},然后将word另存为xml文件,再将后缀名改成ftl格式.然后将模板放在对应的目录下. 二.引入freemarker包,mawen引用 <depend ...

  2. Mysql存储时间字段

    兄弟连教育数据库培训教程 Mysql存储时间字段用int.timestamp还是datetime 通常存储时间用datetime类型,现在很多系统也用int存储时间,它们有什么区别?总结如下: int ...

  3. gdb插件gef安装爬坑

    0x00: gdb是linux下的调试利器,但无奈界面不太友好,所以需要一些辅助插件. 0x01:关于插件选择 之前我一直使用的是pead,之前了解到还有个插件gef,因为gef支持多构架,而且hea ...

  4. Javascript调试技巧整理

    整理一下网上看到的实用调试技巧! 1. 不要使用alert 首先,alert只能打印出字符串,如果打印的对象不是String,则会调用toString()方法将该对象转成字符串(比如转成[object ...

  5. 扩展性很强的python实现方式

    一:先上目录结构 二:各个文件的代码 # -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/7/4 16:42 from util ...

  6. 「JOI 2019 Final」 硬币收藏

    题目链接 戳我 \(Solution\) 先将所有棋子移动到最近的目标点上 我们设两个变量\(ans1,ans2\)表示到目前为止这个点上可以移动棋子的数目,然后\(f[i][j]\)表示\((i,j ...

  7. 在jenkins打开roboframework报告:Opening Robot Framework report failed

    来源自: https://blog.51cto.com/icestick8586/1884615 --------------------------------------------------- ...

  8. AppiumLibrary移动APP测试

    使用Genymotion模拟器结合RF执行 前提搭建环境参考<python_Appium测试环境搭建>文章详细介绍. 常用关键字 关  键  字 描   述 Click Button 点击 ...

  9. linux性能监控 + Sendmail 发邮件

    sendmail安装 #!/bin/bash#控制发邮件的阈值是在rate,rate1和FF值(三个同样的用途,仅仅是名字不同)##注:该博文中的变量不规范,我是随意定义的,请注意##定义时间倒计时函 ...

  10. Gradle DSL method not found: 'compile()'

    问题描述: 今天在导入第三方库的时候报错:Gradle DSL method not found: 'compile()' 通过网上查询发现是自己导包路径错误:应该导入app下面的build.grad ...