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. vue.js中 this.$nextTick()的使用

    官方文档是这样介绍的: this.$nextTick 将回调延迟到下次DOM更新循环之后执行.在修改数据之后立即使用它,然后等待DOM更新. this.$nextTick 跟全局方法 vue.next ...

  2. yii 上传视频(ajax)

    实现一个功能:提交表单的时候,需要上传视频,把视频上传到oss上,然后把url作为表单值传到后端保存到数据库.需要ajax异步实现. 遇到了一个这样报错:Bad Request: 您提交的数据无法被验 ...

  3. RAID技术超详细讲解

    RAID 技术是一种多磁盘技术,面对数据的各方面有着两面性的影响,整体来说优点大于缺点的,下面我将详细介绍一下 RAID ,简称磁盘阵列技术. 一.RAID 概述 1988 年美国加州大学伯克利分校的 ...

  4. H5 设计尺寸

    750*1218 微信下 兼容 7plus 内容高度 居中 1000px 内 750*1448 微信下 兼容 iphoneX 微信导航栏高度 64px 64px =  导航栏44+状态栏20 但是现在 ...

  5. codevs 1200 同余方程 2012年NOIP全国联赛提高组 x

    /*我在提交的时候发现了一个特别好玩的事,有兴趣的话,可以自己尝试一下:把下面说的地方的y=0改为y=1在codevs里面能够ac,这……数据水?到一定境界……厉害了,吓得我还以为自己对了,结果一讲才 ...

  6. codeforces400C

    Inna and Huge Candy Matrix CodeForces - 400C Inna and Dima decided to surprise Sereja. They brought ...

  7. leetcode-hard-array-287. Find the Duplicate Number

    mycode   77.79% class Solution(object): def findDuplicate(self, nums): """ :type nums ...

  8. SSD 页、块、垃圾回收

    基本操作: 读出.写入.擦除: 因为NAND闪存单元的组织结构限制,单独读写一个闪存单元是不可能的.存储单元被组织起来并有着十分特别的属性.要知道这些属性对于为固态硬盘优化数据结构的过程和理解其行为来 ...

  9. golang 性能剖析pprof

    作为一个golang coder,使用golang编写代码是基本的要求. 能够写出代码,并能够熟悉程序执行过程中各方面的性能指标,则是更上一层楼. 如果在程序出现性能问题的时候,可以快速定位和解决问题 ...

  10. 移动App双周版本迭代策略

    对于移动互联网产品来说,迭代的速度就是生命.我创业时做移动App时是一周一版,而现在是2周1版.相比起小公司,大公司迭代时间虽长,却更为不易,因为大公司流程更多,参与人数更多,需求更多,实现这样的快速 ...