`
tianshibaijia
  • 浏览: 1118748 次
文章分类
社区版块
存档分类
最新评论

学习笔记20(C#中时间比较)

 
阅读更多

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#从入门到精通 学习笔记,减少读书的时间,更高效的学习

    c#学习笔记.txt

    C#学习笔记(2)【大 中 小】【打印】【加入收藏】【关闭】 【收藏到新浪ViVi】【收藏到365KEY】 浏览字号:日期:2004-07-11 人气:8092 出处: write by cash(天下第七) 2002.01.20 版权所有,翻录不究 cashcao@...

    C#学习笔记

    我个人觉得面向对象是本本主义、洁癖的体现、是重构后的最后归属、它可能会矫情、在市场变化老板着急产品狭隘的情况下 快速制作快速上线才是王道,面向对象的基础是对事物的详尽认知,短时间内能做到吗 不好做到,...

    C#学习笔记.docx

    学习时自己做的笔记,方便自己学习也分享给大家,做好笔记对于学习是有很大的帮助,在研究的过程中很辛苦,也可能到处碰壁,但是做好笔记的话就可以减少下次研究的时间,加快我们的速度。

    C#学习笔记VS2008(基础知识复习)

    学习C#有一段时间了,总结的学习笔记 ,还不够全面 最近也在积极的编写,谢谢大家的支持! 最近的知识 复习资料

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    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学习笔记及其他代码应用

    28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...

    C#中的lock、Monitor、Mutex学习笔记

    多线程的应用程序域是相当不稳定的,因为多个线程在同一时间内都能运行共享的功能模块。为了保护应用程序的资源不被破坏,为多线程程序提供了三种加锁的机制,分别是:Monitor类、Lock关键字和Mutex类。 1. lock ...

    C#学习笔记之状态模式详解

    本文通过例题为大家讲解C#学习笔记之状态模式,供大家参考,具体内容如下 题目1:通过代码描述每一天的不同时间段的工作效率 分析:  首先确定,工作状态指正在工作,或者以及下班这些情况,而这些情况所受影响的...

    c# 钩子学习笔记

    系统钩子需要一个单独的DLL,这个地方耽误了不少时间,网上有说可以不用单独DLL的。 现在开始贴代码,代码参照了红黑联盟中的一篇文章。 代码如下: public class SetHook { public class HookTypes { /// &lt;summary&gt; ///...

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    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_...

    中美 IT 培训 C# Asp.net 笔记2

    一万多培训费的资料,北京权威的.NET培训机构】 【认真学习后你一定能成为优秀的.net程序员】 学习对象:1.大专及大专以上理工科学历,或有相当学历的理工科教育...在整个学习过程中有四次考试,占四个周六的时间。

    中美 IT 培训 C# Asp.net 全套笔记1

    价值一万八的中美 IT 培训笔记一万多培训费的资料,北京权威的.NET培训机构】 【认真学习后你一定能成为优秀的.net程序员】 学习对象:1.大专及大专以上理工科...在整个学习过程中有四次考试,占四个周六的时间。

    C#正则表达式整理备忘

    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...

    基于SSM框架搭建的云笔记系统(仿有道云笔记)源码.zip

    资源项目的难度比较适中,内容都是经过助教老师审定过的,能够满足使用、学习需求,如果有需要的话可以放心下载使用。有任何问题也可以直接私信博主,博主会第一时间给您解答!!! 别再对比了,资源中的源码都是...

    C#程序员书籍推荐,C#程序员书籍推荐,C#程序员书籍推荐

    C# Windows Form 程序设计------对熟练掌握WinForm编程基础比较有用,看得时候建议将书中的例子从头到尾做一遍,这样会有比较好的收获,否则,学习效果一般。 C# XML从入门到精通 ------这本书前半部分讲的关于XML的...

    杨中科.Net培训实况教学视频学习笔记1-13季

    传智播客.Net培训.net视频教程学习笔记,如果你也在学,绝对节省你很多时间。

    C-sharp-Study:学习笔记,在一定时间段内会在Blog更新相关笔记,无需研究本项目代码(也没啥好研究的对吧)

    C#学习记录 从Console到面向对象,摸鱼学习状态,...非常欢迎各位大佬对我的学习笔记进行指正,如有错误可以在issue内指正 进度 赋值、打印内容、占位符、转义符 运算符、类型转换、计算 if、if-else、if else-if

    毕设&课设&项目&竞赛-基于洋桃1号开发板进行学习的个人STM32学习笔记.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

    毕业设计&课程设计-移动端TNN部署学习笔记,支持Android与iOS。.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

Global site tag (gtag.js) - Google Analytics