文谷首页 | 业界传真 | 网络技术 | 服务器 | 数据库 | 存储技术 | 系统安全 | 无线技术 | Cisco | .Net | Windows | Linux | Unix | Java
电子商务 | 网站工程 | 网页设计 | 平面设计 | 多媒体 | 编程语言 | Oracle | MSSQL | Photoshop | ASP | PHP | 实用技巧 | 进程查询 | 文谷论坛
 websphere   .net framework
您现在的位置: IT文谷 >> 开发平台 >> .net framework >> ASP.NET >> 文章正文
常见日期方法荟萃2006-7-15常见日期方法荟萃2006-7-15常见日期方法荟萃
常见日期方法荟萃2006-7-15常见日期方法荟萃2006-7-15常见日期方法荟萃
常见日期方法荟萃

常见日期方法荟萃2006-7-15常见日期方法荟萃2006-7-15常见日期方法荟萃
Author:小山
  from:Cnblogs
  常见日期方法荟萃 一.如何获得当月有多少天
  int m=System.DateTime.DaysInMonth(System.
DateTime.Now.Year,System.DateTime.Now.Month);

  二.日期型格式处理通用方法 1.在webconfig中配置如下





2.在global.asax中

protected void Application_BeginRequest(Object sender, EventArgs e)

{

Thread currentThread = Thread.CurrentThread;

CultureInfo cul = currentThread.CurrentCulture.Clone() as CultureInfo;

cul.DateTimeFormat.ShortDatePattern= BLLFacade.Common.GetShortDatePattern();

cul.DateTimeFormat.LongDatePattern= BLLFacade.Common.GetLongDatePattern();

cul.DateTimeFormat.ShortTimePattern= BLLFacade.Common.GetShortTimePattern();

cul.DateTimeFormat.LongTimePattern= BLLFacade.Common.GetLongTimePattern();

currentThread.CurrentCulture = cul;

}

3.在业务逻辑层中
public static string GetShortDatePattern()

{

return System.Configuration.ConfigurationSettings.AppSettings["ShortDatePattern"];

}



public static string GetLongDatePattern()

{

return System.Configuration.ConfigurationSettings.AppSettings["LongDatePattern"];

}



public static string GetShortTimePattern()

{

return System.Configuration.ConfigurationSettings.AppSettings["ShortTimePattern"];

}



public static string GetLongTimePattern()

{

return System.Configuration.ConfigurationSettings.AppSettings["LongTimePattern"];

}

4.然后在其他地方正常调用就可以了,如果需要修改格式只需要修改webconfig中的,且可以保证整个系统中的所有格式都是一致的 三.在asp.net中怎么样计算两个日期相差的年、月份、日期、小时、分钟 、妙等在asp.net中怎么样计算两个日期相差的年、月份、日期、小时、分钟 、妙等#region 在asp.net中怎么样计算两个日期相差的年、月份、日期、小时、分钟 、妙等
//        调用

//        DateTime a=Convert.ToDateTime("2005-09-03 20:15");

//        DateTime b=Convert.ToDateTime("2005-09-04 09:09 ");

//        double d=Bll.Common.DateDiff(Bll.Common.EnumDateCompare.day,a,b);

//        Response.Write(d.ToString("f0"));//四舍五入

        public enum EnumDateCompare

        {

            year    =1,

            month    =2,

            day        =3,

            hour    =4,

            minute    =5,

            second    =6

        }

        public static double DateDiff(EnumDateCompare howtocompare, 
System.DateTime startDate, System.DateTime endDate) 

        { 

            double diff=0; 

            System.TimeSpan TS = new System.TimeSpan(endDate.Ticks-startDate.Ticks); 



            switch (howtocompare) 

            { 

                case EnumDateCompare.year: 

                    diff = Convert.ToDouble(TS.TotalDays/365); 

                    break; 

                case EnumDateCompare.month: 

                    diff = Convert.ToDouble((TS.TotalDays/365)*12); 

                    break; 

                case EnumDateCompare.day:

                    diff = Convert.ToDouble(TS.TotalDays); 

                    break; 

                case EnumDateCompare.hour: 

                    diff = Convert.ToDouble(TS.TotalHours); 

                    break; 

                case EnumDateCompare.minute: 

                    diff = Convert.ToDouble(TS.TotalMinutes); 

                    break; 

                case EnumDateCompare.second: 

                    diff = Convert.ToDouble(TS.TotalSeconds); 

                    break; 

            }

            return diff;

        }



        #endregion四.获取某月的实际工作日(即不包括周六日)

//调用

//int days =getDays(System.DateTime.Now));

private int getDays(System.DateTime date1)

{

    int m=System.DateTime.DaysInMonth(date1.Year,date1.Month);

    int mm=0;

    for(int i=1;i<=m;i++)

    {

        System.DateTime date=Convert.ToDateTime(date1.Year+"-"+date1.Month+"-"+i);

        switch (date.DayOfWeek)

        {

            case System.DayOfWeek.Monday:

            case System.DayOfWeek.Thursday:

            case System.DayOfWeek.Tuesday:

            case System.DayOfWeek.Wednesday:

            case System.DayOfWeek.Friday:

                mm=mm+1;

                break;



        }                

    }

    return mm;

}

五.获得任意两日期之间的有效工作日(不包括周六日) 获得任意两日期之间的有效工作日(不包括周六日)#region 获得任意两日期之间的有效工作日(不包括周六日)
//调用

        //DateTime date1=Convert.ToDateTime("2005-10-20");

        //DateTime date2=Convert.ToDateTime("2005-11-01");

        //int days =getDays(date1,date2);

        private int getDays(System.DateTime date1,System.DateTime date2)

        {

            string m=DateDiff(EnumDateCompare.day,date1,date2).ToString("f0");

            

            int mm=0;

            for(int i=0;i<=Convert.ToInt32(m);i++)

            {

                System.DateTime date=Convert.ToDateTime(date1.AddDays(i));

                switch (date.DayOfWeek)

                {

                    case System.DayOfWeek.Monday:

                    case System.DayOfWeek.Thursday:

                    case System.DayOfWeek.Tuesday:

                    case System.DayOfWeek.Wednesday:

                    case System.DayOfWeek.Friday:

                        mm=mm+1;

                        break;

                }                

            }

            return mm;

        }

        #endregion

六.格式输出

格式输出#region 格式输出

        private void Page_Load(object sender, System.EventArgs e)

        {

            System.Globalization.DateTimeFormatInfo myDTFI = new System.
Globalization.CultureInfo( "en-US", false ).DateTimeFormat;//中国用zh-cn

            DateTime myDT =System.DateTime.Now;



            Response.Write(myDT.ToString("f",myDTFI));

            /**//**//**//*

            This code produces the following output.



            FORMAT  en-US EXAMPLE

            CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY



              d     1/3/2002

                    M/d/yyyy (ShortDatePattern)



              D     Thursday, January 03, 2002

                    dddd, MMMM dd, yyyy (LongDatePattern)



              f     Thursday, January 03, 2002 12:00 AM



              F     Thursday, January 03, 2002 12:00:00 AM

                    dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)



              g     1/3/2002 12:00 AM



              G     1/3/2002 12:00:00 AM



              m     January 03

                    MMMM dd (MonthDayPattern)



              M     January 03

                    MMMM dd (MonthDayPattern)



              r     Thu, 03 Jan 2002 00:00:00 GMT

                    ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)



              R     Thu, 03 Jan 2002 00:00:00 GMT

                    ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)



              s     2002-01-03T00:00:00

                    yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)



              t     12:00 AM

                    h:mm tt (ShortTimePattern)



              T     12:00:00 AM

                    h:mm:ss tt (LongTimePattern)



              u     2002-01-03 00:00:00Z

                    yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)



              U     Thursday, January 03, 2002 8:00:00 AM



              y     January, 2002

                    MMMM, yyyy (YearMonthPattern)



              Y     January, 2002

                    MMMM, yyyy (YearMonthPattern)

            */





        }        

        #endregion

七.获得本周的周六和周日
ConvertDateToWeek#region ConvertDateToWeek

        public static void ConvertDateToWeek(DateTime date,
out DateTime firstdate,out DateTime lastdate)

        {    

            DateTime first=System.DateTime.Now;

            DateTime last=System.DateTime.Now;

            switch (date.DayOfWeek)

            {                

                case System.DayOfWeek.Monday:

                    first=date.AddDays(-1);

                    last=date.AddDays(5);

                    break;

                case System.DayOfWeek.Tuesday:

                    first=date.AddDays(-2);

                    last=date.AddDays(4);

                    break;

                case System.DayOfWeek.Wednesday:

                    first=date.AddDays(-3);

                    last=date.AddDays(3);

                    break;

                case System.DayOfWeek.Thursday:

                    first=date.AddDays(-4);

                    last=date.AddDays(2);

                    break;

                case System.DayOfWeek.Friday:

                    first=date.AddDays(-5);

                    last=date.AddDays(1);

                    break;

                case System.DayOfWeek.Saturday:

                    first=date.AddDays(-6);

                    last=date;

                    break;

                case System.DayOfWeek.Sunday:

                    first=date;

                    last=date.AddDays(6);

                    break;                

            }

            firstdate=first;

            lastdate=last;

        }

        #endregion    



//调用

DateTime firstdate=System.DateTime.Now;    

DateTime lastdate=System.DateTime.Now;

ConvertDateToWeek(date,out firstdate,out lastdate);八获得当前日期是该年度的第几周

DateTime dt = Convert.ToDateTime("2006-05-01");

int weeks = dt.DayOfYear / 7 + 1;

常见日期方法荟萃2006-7-15常见日期方法荟萃2006-7-15常见日期方法荟萃


  • 上一篇文章:

  • 下一篇文章:
  • 进入论坛讨论

    相关文章
    基于.NET的多线程编程入门
    Microsoft .NET 框架资源基础
    VS2005常用插件搜罗
    .net中用GDI+提高gif图片保存画质
    VS.NET:通过Web服务瞄准电子商务
    对象设计中创建VS使用
    安装/初始化/个性化DotNetNuke
    介绍dotnet原动力(DNN)
    GDI+编程10个基本技巧
    DTE .NET工程的自动化编译
    .Net中如何操作IIS的原理分析
    VS.NETRC5无法创建Add-IN工程
    热门文章最新推荐

    版权与免责声明:
    ① 本网转载其他媒体稿件是为传播更多的信息,此类稿件不代表本网观点,版权归原作者所有,本网不承担此类稿件侵权行为的连带责任。
    ② 在本网BBS上发表言论者,文责自负。
    ③ 如您因版权等问题需要与本网联络,请在30日内联系 。
    常见日期方法荟萃2006-7-15常见日期方法荟萃2006-7-15常见日期方法荟萃
    常见日期方法荟萃2006-7-15常见日期方法荟萃2006-7-15常见日期方法荟萃

    .net framework专题
    人气排行
  • 此栏目下没有文章
  • 最近更新
    普通文章技术介绍 新数据网格简介
    普通文章.NET 开发人员该下载的十个必备
    普通文章深入剖析Asp.net资源文件
    普通文章通过事例学习.net的WebForms技
    普通文章ASP.NET Tips1---合并多个字段
    普通文章微软明年1月份出台.NET专业开发
    普通文章微软下月底前完成Vista大部分功
    普通文章揭开微软 .NET 认证考试的面纱
    普通文章Visual Studio:Microsoft开发工
    普通文章Visual Studio:Microsoft开发工
    全站热点       
    最新推荐
    关于文谷 | 联系文谷 | 免责声明 | 文谷社区
    Tel: 0577-65690019    E-mail: ichenjian@gmail.com    MSN:ichenjian@hotmail.com    QQ:2911194
    Copyright © 2004-2006 wengu.org 文谷 All Rights Reserved
    浙ICP备05000327号