displaydate.cs

来自「一个ASP.NET下的中文内容管理和社区系统」· CS 代码 · 共 96 行

CS
96
字号
namespace ASPNET.StarterKit.Communities {
    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
	using System.ComponentModel;

    //*********************************************************************
    //
    // DisplayDate Class
    //
    // Abstract class for displaying date
    //
    //*********************************************************************
	[Designer(typeof(ASPNET.StarterKit.Communities.CommunityDesigner))]	
    public abstract class DisplayDate : WebControl {

        string _dateFormatString = "{0:D}";
        private bool _displayTimeZone = true;


        //*********************************************************************
        //
        // Date Property
        //
        // Override in derived class to display date.
        //
        //*********************************************************************
        abstract public DateTime Date { get; }


        //*********************************************************************
        //
        // DateFormatString Property
        //
        // Format string for displaying date.
        //
        //*********************************************************************
        public string DateFormatString {
            get { return _dateFormatString;}
            set {_dateFormatString = value;}
        }
        


        //*********************************************************************
        //
        // DisplayTimeZone Property
        //
        // Determines whether time zone is displayed.
        //
        //*********************************************************************
        public bool DisplayTimeZone {
            get { return _displayTimeZone; }
            set { _displayTimeZone = value; }
        }


        //*********************************************************************
        //
        // LocalTimeZoneAbbreviation Property
        //
        // Get the abbreviated name of server time zone.
        //
        //*********************************************************************
        private string LocalTimeZoneAbbreviation {
            get {
                string[] splitTZ = TimeZone.CurrentTimeZone.StandardName.Split(' ');
                string _abb = String.Empty;
                foreach (string word in splitTZ)
                    _abb += word[0];
                return _abb;    
            }
        }




        //*********************************************************************
        //
        // RenderContents Method
        //
        // Display content by retrieving content from context
        //
        //*********************************************************************
        override protected void RenderContents(HtmlTextWriter writer) {
            // Write date
            writer.Write(String.Format(_dateFormatString, Date.ToLocalTime() ));
            if (_displayTimeZone)
                writer.Write( String.Format(" ({0})", LocalTimeZoneAbbreviation));
        }


    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?