Asp.net 时间操作

一、ASP.NET时间操作

二、Asp.net 时间操作基类(短日期,长日期,时间差)

 



using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace EC
{
    
/// <summary>
    
/// 时间操作函数
    
/// </summary>
    public class TimeObject
    {
        
/// <summary>
        
/// 时间差
        
/// </summary>
        
/// <param name="starttime">开始时间</param>
        
/// <param name="endtime">结束时间</param>
        
/// <returns></returns>
        public static string GetTimeSpan(DateTime starttime, DateTime endtime)
        {
            TimeSpan ts 
= endtime - starttime;
            
return string.Format("{0}时{1}分{2}秒{3}毫秒", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);
        }

        
/// <summary>
        
/// 转称为月-日:09-12
        
/// </summary>
        
/// <param name="d">日期</param>
        
/// <returns></returns>
        public static string ToDateMonthDay(DateTime d)
        {
            
return d.ToString("MM-dd");
        }
        
/// <summary>


        
/// <param name="d"></param>
        
/// <returns></returns>
        public static string ToDateString(DateTime d)
        {
            
return d.ToString("yyyy-MM-dd");
        }
        
/// <summary>
        
/// 转换为:小时:分:秒 00:29:58
        
/// </summary>
        
/// <param name="t"></param>
        
/// <returns></returns>
        public static string ToTimeString(DateTime t)
        {
            
return t.ToString("HH:mm:ss");
        }
        
/// <summary>
        
/// 转换为长时间:2006-09-12 00:30:57
        
/// </summary>
        
/// <param name="dt"></param>
        
/// <returns></returns>
        public static string ToDateTimeString(DateTime dt)
        {
            
return dt.ToString("yyyy-MM-dd HH:mm:ss");
        }     
    
    }

}

 

三、 关于Access 是Date()类型字段的数据取值:

1、Label1.Text= Convert.toDate(dr1["字段"]).ToString("yyyy-MM-dd");

2、Label1.Text = System.DateTime.Now.ToShortDateString();

ToShortDateString的输出格式和你服务器的时间格式设定有关的,输出的不一定是yyyy-MM-dd格式。
你在控制面板改一下就知道了。

 

DateTime dt = DateTime.Now;

转化成字符串

DateTime dt = DateTime.Now;
string str = dt.ToString(); //这是最直接的转化方法
string str2 = dt.ToString("yyyy-MM-dd HH:mm:ss"); //yyyy、mm、dd 是格式模式,大小写敏感

DateTime 的 ToString 的格式模式大小写敏感,请注意大小写,各模式之间可以互相组合,常见的模式如下:

yyyy 年,四位数表示。
yy   年,两位数表示。
MM 月,小于 10 时,有前导零。
M  月,小于 10 时,没有前导零。
dd 日,小于 10 时,有前导零。
d  日,小于 10 时,没有前导零。
HH 时(24 小时制),小于 10 时,有前导零。
H  时(24 小时制),小于 10 时,没有前导零。
hh 时(12 小时制),小于 10 时,有前导零。
h  时(12 小时制),小于 10 时,没有前导零。
mm 分。小于 10 时,有前导零。
m  分。小于 10 时,没有前导零。
ss 秒。小于 10 时,有前导零。
s  秒。小于 10 时,没有前导零。

获取年、月、日、时、分、秒等

DateTime dt = DateTime.Now;
int y = dt.Year; //年
int m = dt.Month; //月
int d = dt.Day; //日,注意是 Day,不是 Date
int h = dt.Hour; //时
int n = dt.Minute; //分
int s = dt.Second; //秒
int ms = dt.Millisecond; //毫秒
long t = dt.Ticks; //一个数字,用于表示该时间,注意类型为 long

时间比较

DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddYears(3);
int ct1 = dt1.CompareTo(dt2); //dt1 早于 dt2,返回 -1
int ct2 = dt2.CompareTo(dt1); //dt2 晚于 dt1,返回 1
int ct3 = dt2.CompareTo(dt2); //dt2 与 dt2 相等,返回 0

 

DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddYears(3);
bool b = dt1.Equals(dt2); //dt1 与 dt2 不相等,返回 false

时间加减

DateTime dt = DateTime.Now;
dt = dt.AddYears(1); //加 1 年
dt = dt.AddMonths(-1); //减 1 月
dt = dt.AddDays(13); //加 13 日
dt = dt.AddHours(1); //时
dt = dt.AddMinutes(1); //分
dt = dt.AddSeconds(1); //秒
dt = dt.AddMilliseconds(1); //毫秒
dt = dt.AddTicks(1); //Ticket,用数字表示当前时间

参数为正,表示加;参数为负,表示减。注意拼写。函数应该返回一个值,比如是:dt = dt.AddYears(1),而不是:dt.AddYears(1)。

还有一个方法是 Add,其语法为:

DateTime DateTime.Add(TimeSpan ValueType);

关于 TimeSpan,请继续阅览本文。


时间减运算

前面的时间加减是对一个时间进行加减,这里是对两个时间进行减运算(用 -),返回的结果类型为 TimeSpan。

DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddDays(3);
TimeSpan ts = dt1 - dt2;

TimeSpan 的属性 Days、Hours、Minutes、Seconds、Milliseconds、Tickets,分别返回相差的天数、时数、分数、秒数、毫秒数、Tickets。有正负之分。

TimsSpan 的属性 TotalDays、TotalHours、TotalMinutes、TotalSeconds、TotalMilliseconds,分别返回以天、时、分、秒、毫秒为单位的相差值。有正负之分。

比如:dt1 比 dt2 早整整 3 天,按上述程序,则:

Days 为 -3,Hours 为 0;

TotalDays 为 -3,TotalHours 为 -72(3 天为 72 小时)。


 

原文地址:https://www.cnblogs.com/craig/p/1887267.html