C#时间比较大小方法一:时间与时间之间直接比较。
stringstrTime1=DateTime.Now.ToString();
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
if(dt1>dt2)
{
……其他操作
}
C#时间比较大小方法二:使用CompareTo方法,实现时间与时间之间的比较。
stringstrTime1=DateTime.Now.ToString();
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
intn=dt1.CompareTo(dt2);
if(n>0)
{
……其他操作
}
c#计算时间差重点:
c#计算时间差函数TimeSpan的应用
TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。
c#计算时间差实现方法:
DateTime DateTime1,
DateTime2 = DateTime.Now ;//现在时间
DateTime1 =Convert.ToDateTime("2009-04-24 20:00:00"); //设置要求的减的时间
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
//显示时间
dateDiff = ts.Days.ToString() + "天"
+ ts.Hours.ToString() + "小时"
+ ts.Minutes.ToString() + "分钟"
+ ts.Seconds.ToString() + "秒";
我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(12:12:12)、日期+时间(2008-09-04 12:11:10)等。
//获取日期+时间
DateTime.Now.ToString(); // 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12
//获取日期
DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日
DateTime.Now.ToShortDateString().ToString(); // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04
DateTime.Now.Date.ToString(); // 2008-9-4 0:00:00
//获取时间
DateTime.Now.ToLongTimeString().ToString(); // 20:16:16
DateTime.Now.ToShortTimeString().ToString(); // 20:16
DateTime.Now.ToString("hh:mm:ss"); // 08:05:57
DateTime.Now.TimeOfDay.ToString(); // 20:33:50.7187500
//其他
DateTime.ToFileTime().ToString(); // 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString(); // 128650040772968750
DateTime.Now.ToOADate().ToString(); // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString(); // 2008-9-4 12:19:14
DateTime.Now.Year.ToString(); 获取年份 // 2008
DateTime.Now.Month.ToString(); 获取月份 // 9
DateTime.Now.DayOfWeek.ToString(); 获取星期 // Thursday
DateTime.Now.DayOfYear.ToString(); 获取第几天 // 248
DateTime.Now.Hour.ToString(); 获取小时 // 20
DateTime.Now.Minute.ToString(); 获取分钟 // 31
DateTime.Now.Second.ToString(); 获取秒数 // 45
//n为一个数,可以数整数,也可以事小数
dt.AddYears(n).ToString(); //时间加n年
dt.AddDays(n).ToString(); //加n天
dt.AddHours(n).ToString(); //加n小时
dt.AddMonths(n).ToString(); //加n个月
dt.AddSeconds(n).ToString(); //加n秒
dt.AddMinutes(n).ToString(); //加n分
SQL语句使用时间和日期的函数
getdate():获取系统当前时间
dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate())
datediff(datepart,startdate,enddate):计算两个时间的差值,比如:datediff(yy,getdate(),'2008-08-08')
dataname(datepart,date):获取时间不同部分的值,返回值为字符串
datepart(datepart,date):和datename相似,只是返回值为整型
day(date):获取指定时间的天数
month(date):获取指定时间的月份
year(date):获取指定时间的年份
select year(getdate()) :当前年份
DateTime.ToString()的各种日期格式
例:
ToString:2016/9/27 0:00:00
ToString("yyyy/MM/dd"):2016/09/27
ToString("yyyy-MM-dd"):2016-09-27
ToString("yyyy.MM.dd"):2016.09.27
ToString("dd/MM/yyyy"):27/09/2016
ToString("dd-MM-yyyy"):27-09-2016
ToString("yyyy年MM月dd日"):2016年09月27日
ToString("yyyy-MM-dd HH:mm:ss.fff")); 2016-09-27 01:02:03.001 // fff 越多精度越高
ToString("yyyy-MM-dd HH:mm:ss:ms")); 2016-09-27 01:02:03:234
详细解释:
1.y代表年份,注意是小写的y,大写的Y并不代表年份。
2.M表示月份。
3.d表示日期,注意D并不代表什么。
4.h或H表示小时,h用的是12小时制,H用的是24小时制。
5.m表示分钟。
6.s表示秒。注意S并不代表什么。
格式 |
输出 |
示例 |
年 |
||
y |
7 |
string yy = DateTime.Now.ToString("y-MM") yy="7-05" |
yy |
07 |
string yy = DateTime.Now.ToString("yy-MM") yy="07-05" |
yyy或更多的y |
1984 |
string yy = DateTime.Now.ToString("yyyy"); yy="2007" |
月 |
||
M |
5. |
string mon = DateTime.Parse("1984-05-09")ToString("yyyy-M") mon = "1984-5" |
MM |
05. |
string mon = DateTime.Parse("1984-05-09")ToString("MM") mon = "05" |
MMM |
如果是中文版的操作系统,则会输出:五月. 如果是英文操作系统,则输入月份前三个字母的简写:May |
string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版操作系统:Jul 中文版操作系统:七月 |
MMMM或更多的M |
如果是中文版的操作系统,则会输出:五月. 如果是英文操作系统,则输入月份的全写 |
string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版操作系统:July 中文版操作系统:七月 |
日期或星期 |
||
d |
9 |
string dd= DateTime.Parse("1984-05-09")ToString("d") dd= "9" |
dd |
09 |
string dd= DateTime.Parse("1984-05-09")ToString("dd") dd= "09" |
ddd |
如果是中文版的操作系统,则会输出星期,如星期三。. 如果是英文操作系统,则输出星期的简写:如 Wed |
string dd = DateTime.Parse("2006-07-01").ToString("ddd") 英文版操作系统:Wed 中文版操作系统:星期三 |
dddd或更多的d |
如果是中文版的操作系统,则会输出星期,如星期三。. 如果是英文操作系统,则输出星期:如 Wednesday |
string dd = DateTime.Parse("2006-07-01").ToString("dddd") 英文版操作系统:Wednesday 中文版操作系统:星期三 |
小时 |
||
h |
小时范围:1-12 |
string hh = DateTime.Now.ToString(“h”); hh = 8 |
hh或更多的h |
小时范围:1-12 |
string hh = DateTime.Now.ToString(“hh”); hh = 08 |
H |
小时范围:0-23 |
string hh = DateTime.Now.ToString(“yyyy-H”); hh = 2006-8 |
HH或更多的H |
小时范围:0-23 |
string hh = DateTime.Now.ToString(“yyyy-HH”); hh = 2006-08 string hh = DateTime.Pare(“2006-7-4 18:00:00”).ToString(“yyyy-HH”); hh = 2006-18 |
分钟 |
||
m |
6 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-m"); mm = “2006-07-01-6”; |
mm或更多的m |
06 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-mm"); mm = “2006-07-01-06”; |
秒 |
||
s |
6 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-s"); mm = “2006-07-01-6”; |
ss或更多的s |
06 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-ss"); mm = “2006-07-01-06”;
|