use "DateTime.Compare" static method
DateTime.Compare( dt1, dt2 ) > 0 : dt1 > dt2
DateTime.Compare( dt1, dt2 ) == 0 : dt1 == dt2
DateTime.Compare( dt1, dt2 ) < 0 : dt1 < dt2
/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
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()+"秒";
return dateDiff;
} 说明:
1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.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值表示的秒数。
====================================================<BR>int jg=72;//设置一个增加的时间
DateTime dt=Convert.ToDateTime("2006-4-23 12:22:05");// 设置一个初始化的时间
DateTime newdt=dt.AddHours(jg);//初始化时间加上增加的时间
DateTime nowt=DateTime.Now;//现在的时间
Response.Write("现在时间是:"+nowt+"<br>");
Response.Write("数据库时间是:"+dt+"<br>");
Response.Write("新的时间是:"+newdt+"<br>");
if(newdt<nowt)//如果相加后的时间大于现在的时间
{
Response.Write("可以");
}
else//否则
{
Response.Write("不行");
}
======================================================
// 得到某年某月的天数
public static int GetDaysInMonth(int rYear,int rMonth)
{
DateTime dt1 = DateTime.Parse(rYear+"-"+rMonth+"-01");
DateTime dt2 = dt1.AddMonths(1);
TimeSpan ts = dt2-dt1;
return (int)ts.TotalDays;
}
//得到星期Text
public static string GetDayOfWeekHtml(int rDayOfWeek)
{
switch(rDayOfWeek)
{
case (int)DayOfWeek.Sunday:
return "<font color=\"#ff0000\">星期日</font>";
case (int)DayOfWeek.Monday:
return "<font color=\"#000000\">星期一</font>";
case (int)DayOfWeek.Tuesday:
return "<font color=\"#000000\">星期二</font>";
case (int)DayOfWeek.Wednesday:
return "<font color=\"#000000\">星期三</font>";
case (int)DayOfWeek.Thursday:
return "<font color=\"#000000\">星期四</font>";
case (int)DayOfWeek.Friday:
return "<font color=\"#000000\">星期五</font>";
case (int)DayOfWeek.Saturday:
return "<font color=\"#008800\">星期六</font>";
default:
return "";
}
}
// 得到某年某月的起止日期,格式为0000-00-00
public static string[] GetBeginEndDate(int rYear,int rMonth)
{
string[] arr = new string[2];
DateTime dt1 = DateTime.Parse(rYear+"-"+rMonth+"-01");
arr[0] = dt1.ToLongDateString();
DateTime dt2 = dt1.AddMonths(1).AddDays(-1);
arr[1] = dt2.ToLongDateString();
return arr;
}
==========================
在ASP中日期比较使用:DateDiff( "d", "2006-1-30", now )>0;在C#中使用:TimeSpan
代码如下:
using System;
using System.Collections;
public class DatediffClass
{
public static void Main()
{
DateTime dt1 = DateTime.Parse("2006-04-01");
DateTime dt2 = DateTime.Parse("2006-05-01");
TimeSpan ts = dt2.Subtract(dt1);
Console.WriteLine(ts.TotalDays);
Console.ReadLine();
}
}
如果是比较大小:DateTime.Compare(t1, t2) > 0
===================================
1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour;
1.6 取当前分
int 分=currentTime.Minute;
1.7 取当前秒
int 秒=currentTime.Second;
1.8 取当前毫秒
int 毫秒=currentTime.Millisecond;
(变量可用中文)
2、Int32.Parse(变量) Int32.Parse("常量")
字符型转换 转为32位数字型
3、 变量.ToString()
字符型转换 转为字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039 (16进制)
12345.ToString("p"); //生成 1,234,500.00%
4、变量.Length 数字型
取字串长度:
如: string str="中国";
int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名
5、System.Text.Encoding.Default.GetBytes(变量)
字码转换 转为比特码
如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
然后可得到比特长度:
len = bytStr.Length;
6、System.Text.StringBuilder("")
字符串相加,(+号是不是也一样?)
如:System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("中华");
sb.Append("人民");
sb.Append("共和国");
7、变量.Substring(参数1,参数2);
截取字串的一部分,参数1为左起始位数,参数2为截取几位。
如:string s1 = str.Substring(0,2);
8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
取远程用户IP地址
9、穿过代理服务器取远程用户真实IP地址:
if(Request.ServerVariables["HTTP_VIA"]!=null){
string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}else{
string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
}
10、 Session["变量"];
存取Session值;
如,赋值: Session["username"]="小布什";
取值: Object objName=Session["username"];
String strName=objName.ToString();
清空: Session.RemoveAll();
11、String str=Request.QueryString["变量"];
用超链接传送变量。
如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a>
在Edit.aspx页中取值:String str=Request.QueryString["fdid"];
12、DOC对象.CreateElement("新建节点名");
创建XML文档新节点
13、父节点.AppendChild(子节点);
将新建的子节点加到XML文档父节点下
14、 父节点.RemoveChild(节点);
删除节点
15、Response
Response.Write("字串");
Response.Write(变量);
向页面输出。
Response.Redirect("URL地址");
跳转到URL指定的页面
16、char.IsWhiteSpce(字串变量,位数)——逻辑型
查指定位置是否空字符;
如:
string str="中国 人民";
Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。
17、char.IsPunctuation('字符') --逻辑型
查字符是否是标点符号
如:Response.Write(char.IsPunctuation('A')); //返回:False
18、(int)'字符'
把字符转为数字,查代码点,注意是单引号。
如:
Response.Write((int)'中'); //结果为中字的代码:20013
19、(char)代码
把数字转为字符,查代码代表的字符。
如:
Response.Write((char)22269); //返回“国”字。
分享到:
相关推荐
C#从入门到精通 学习笔记,减少读书的时间,更高效的学习
C#学习笔记(2)【大 中 小】【打印】【加入收藏】【关闭】 【收藏到新浪ViVi】【收藏到365KEY】 浏览字号:日期:2004-07-11 人气:8092 出处: write by cash(天下第七) 2002.01.20 版权所有,翻录不究 cashcao@...
我个人觉得面向对象是本本主义、洁癖的体现、是重构后的最后归属、它可能会矫情、在市场变化老板着急产品狭隘的情况下 快速制作快速上线才是王道,面向对象的基础是对事物的详尽认知,短时间内能做到吗 不好做到,...
学习时自己做的笔记,方便自己学习也分享给大家,做好笔记对于学习是有很大的帮助,在研究的过程中很辛苦,也可能到处碰壁,但是做好笔记的话就可以减少下次研究的时间,加快我们的速度。
学习C#有一段时间了,总结的学习笔记 ,还不够全面 最近也在积极的编写,谢谢大家的支持! 最近的知识 复习资料
C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_...
28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...
多线程的应用程序域是相当不稳定的,因为多个线程在同一时间内都能运行共享的功能模块。为了保护应用程序的资源不被破坏,为多线程程序提供了三种加锁的机制,分别是:Monitor类、Lock关键字和Mutex类。 1. lock ...
本文通过例题为大家讲解C#学习笔记之状态模式,供大家参考,具体内容如下 题目1:通过代码描述每一天的不同时间段的工作效率 分析: 首先确定,工作状态指正在工作,或者以及下班这些情况,而这些情况所受影响的...
系统钩子需要一个单独的DLL,这个地方耽误了不少时间,网上有说可以不用单独DLL的。 现在开始贴代码,代码参照了红黑联盟中的一篇文章。 代码如下: public class SetHook { public class HookTypes { /// <summary> ///...
C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_...
一万多培训费的资料,北京权威的.NET培训机构】 【认真学习后你一定能成为优秀的.net程序员】 学习对象:1.大专及大专以上理工科学历,或有相当学历的理工科教育...在整个学习过程中有四次考试,占四个周六的时间。
价值一万八的中美 IT 培训笔记一万多培训费的资料,北京权威的.NET培训机构】 【认真学习后你一定能成为优秀的.net程序员】 学习对象:1.大专及大专以上理工科...在整个学习过程中有四次考试,占四个周六的时间。
有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...
资源项目的难度比较适中,内容都是经过助教老师审定过的,能够满足使用、学习需求,如果有需要的话可以放心下载使用。有任何问题也可以直接私信博主,博主会第一时间给您解答!!! 别再对比了,资源中的源码都是...
C# Windows Form 程序设计------对熟练掌握WinForm编程基础比较有用,看得时候建议将书中的例子从头到尾做一遍,这样会有比较好的收获,否则,学习效果一般。 C# XML从入门到精通 ------这本书前半部分讲的关于XML的...
传智播客.Net培训.net视频教程学习笔记,如果你也在学,绝对节省你很多时间。
C#学习记录 从Console到面向对象,摸鱼学习状态,...非常欢迎各位大佬对我的学习笔记进行指正,如有错误可以在issue内指正 进度 赋值、打印内容、占位符、转义符 运算符、类型转换、计算 if、if-else、if else-if
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...