时间转换: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 时间转换问题总结
这几天开发中遇到时间转换出错的问题,特总结如下: ========================================================================= ...
随机推荐
- freemarker 生成word
一.生成模板,动态获取的部分用${变量名},然后将word另存为xml文件,再将后缀名改成ftl格式.然后将模板放在对应的目录下. 二.引入freemarker包,mawen引用 <depend ...
- Mysql存储时间字段
兄弟连教育数据库培训教程 Mysql存储时间字段用int.timestamp还是datetime 通常存储时间用datetime类型,现在很多系统也用int存储时间,它们有什么区别?总结如下: int ...
- gdb插件gef安装爬坑
0x00: gdb是linux下的调试利器,但无奈界面不太友好,所以需要一些辅助插件. 0x01:关于插件选择 之前我一直使用的是pead,之前了解到还有个插件gef,因为gef支持多构架,而且hea ...
- Javascript调试技巧整理
整理一下网上看到的实用调试技巧! 1. 不要使用alert 首先,alert只能打印出字符串,如果打印的对象不是String,则会调用toString()方法将该对象转成字符串(比如转成[object ...
- 扩展性很强的python实现方式
一:先上目录结构 二:各个文件的代码 # -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/7/4 16:42 from util ...
- 「JOI 2019 Final」 硬币收藏
题目链接 戳我 \(Solution\) 先将所有棋子移动到最近的目标点上 我们设两个变量\(ans1,ans2\)表示到目前为止这个点上可以移动棋子的数目,然后\(f[i][j]\)表示\((i,j ...
- 在jenkins打开roboframework报告:Opening Robot Framework report failed
来源自: https://blog.51cto.com/icestick8586/1884615 --------------------------------------------------- ...
- AppiumLibrary移动APP测试
使用Genymotion模拟器结合RF执行 前提搭建环境参考<python_Appium测试环境搭建>文章详细介绍. 常用关键字 关 键 字 描 述 Click Button 点击 ...
- linux性能监控 + Sendmail 发邮件
sendmail安装 #!/bin/bash#控制发邮件的阈值是在rate,rate1和FF值(三个同样的用途,仅仅是名字不同)##注:该博文中的变量不规范,我是随意定义的,请注意##定义时间倒计时函 ...
- Gradle DSL method not found: 'compile()'
问题描述: 今天在导入第三方库的时候报错:Gradle DSL method not found: 'compile()' 通过网上查询发现是自己导包路径错误:应该导入app下面的build.grad ...