时间转换:DateTimeExtensions
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的更多相关文章
- [jquery]将当前时间转换成yyyymmdd格式
如题: function nowtime(){//将当前时间转换成yyyymmdd格式 var mydate = new Date(); var str = "" + mydate ...
- MySQL 日期、时间转换函数
MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...
- java时间类型的转换/获取当前时间/将时间转换成String/将String转换成时间
对于我的脑子,我已经服气了...写了N遍的东西,就是记不住...既然记不住那就记下来... 利用java获取当前的时间(String类型,年-月-日 时:分:秒) //我要获取当前的日期 Date d ...
- inner join ,left join ,right join 以及java时间转换
1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1 a12 a23 a3表bbid bdate1 ...
- Python基本时间转换
时间转换 python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换. 把最基本的转换在这里记下来 string -> timestamp import time import dat ...
- Date类型时间转换
/* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...
- unix环境C编程之日期时间转换
1.理清概念 1.1.日历时间: 含义:国际标准时间1970年1月1日00:00:00以来经过的秒数. 数据类型:time_t.实际上是long的别名. 1.2.tm结构时间: 含义:结构 ...
- php时间转换unix时间戳
本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...
- Js 处理将时间转换 “年-月-日”
将时间 \/Date(1432828800000+0800)\/" 转换成:“年-月-日” //时间转换function ChangeDateFormat(val) { if (v ...
- Java 时间转换问题总结
这几天开发中遇到时间转换出错的问题,特总结如下: ========================================================================= ...
随机推荐
- 交换机配置——三层交换机实现VLAN间通信
一.实验目的::用三层交换机让同一vlan的主机能通信,不同vlan的主机也能通信 二.拓扑图如下 三.具体步骤如下:. 先给每台主机和服务器配置ip地址和网关 例: (1)S1三层交换机配置: Sw ...
- 记一次关于springboot的netty版本冲突问题
冲突的地放其实很多,大概都是类似,找不到哪个方法了: 类似于: Error starting ApplicationContext. To display the conditions report ...
- $\LaTeX$数学公式大全3
$3\ Delimiters$$|$ |$\vert$ \vert$\|$ \|$\Vert$ \Vert$\{$ \{$\}$ \}$\langle$ \langle$\rangle$ \rangl ...
- easyui编辑editor
$.extend($.fn.datagrid.defaults.editors, { textarea: { init: function(container, options){ var input ...
- CLion配置Cygwin环境
CLion "download" 跳转到 https://cygwin.com/install.html 下载64位安装程序并安装 国内添加网易镜像 http://mirrors. ...
- TCP被动打开 之 第一次握手-接收SYN
假定客户端执行主动打开,服务器执行被动打开,客户端发送syn包到服务器,服务器接收该包,进行建立连接请求的相关处理,即第一次握手:本文主要分析第一次握手中被动打开端的处理流程,主动打开端的处理请查阅本 ...
- IDEA怎么开启终端Terminal
方法一:在IDEA中点击view→tool window→Terminal即可开启 方法二:按住ALT+F12(如果是笔记本按不出来的话再加个Fn键)
- Mac securecrt 破解
今天花了好长的时间终于在Mac上把SecureCRT安装成功了,网上教程大多没有截图,破解关键步骤含糊,现在把详细的破解过程和SecureCRT使用教程分享给大家.最后把参考的博客连接附在最下方. ...
- 【Spring】mvc:annotation-driven 使用
关注此标签,是在项目中有使用 <!-- 解决@ResponseBody 的实现类其默认的编码是 iso-8859-1的问题 --> <mvc:annotation-driven> ...
- k8s简单介绍
k8s是什么? 它是用来解决容器部署,调度,伸缩等基础的功能的软件 k8s的优点? 易学:轻量级,简单,容易理解 便携:支持公有云,私有云,混合云,以及多种云平台 可拓展:模块化,可插拔,支持钩子,可 ...