<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 17  文章 - 84  trackbacks - 0
    <2007年7月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    如非特別說(shuō)明,所有文章均為原創(chuàng)。如需引用,請(qǐng)注明出處
    Email:liangtianyu@gmail.com
    MSN:terry.liangtianyu@hotmail.com

    常用鏈接

    留言簿(4)

    隨筆分類(12)

    隨筆檔案(17)

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 51889
    • 排名 - 961

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

       Java版的Lucene對(duì)時(shí)間的處理和.Net版中的有很大不同,下面我給出org.apache.lucene.document包下DateTools類的.Net完整實(shí)現(xiàn)。
       public class DateTools
        {
            private static readonly string YEAR_FORMAT = "yyyy";
            private static readonly string MONTH_FORMAT = "yyyyMM";
            private static readonly string DAY_FORMAT = "yyyyMMdd";
            private static readonly string HOUR_FORMAT = "yyyyMMddHH";
            private static readonly string MINUTE_FORMAT = "yyyyMMddHHmm";
            private static readonly string SECOND_FORMAT = "yyyyMMddHHmmss";
            private static readonly string MILLISECOND_FORMAT = "yyyyMMddHHmmssfff";
            public static readonly DateTime BASE_UNIVERSAL_TIME = DateTime.Parse("January 1, 1970, 00:00:00 GMT").ToUniversalTime();

     
            public static string TimeToString(long l, Resolution resolution)
            {
                DateTime dt = LongToDateTime(l);

                string result = string .Empty ;

                switch (resolution)
                {
                    case Resolution.YEAR:
                        result = dt.ToString(YEAR_FORMAT);

                        break;
                    case Resolution.MONTH:
                        result = dt.ToString(MONTH_FORMAT);

                        break;
                    case Resolution.DAY:
                        result = dt.ToString(DAY_FORMAT);

                        break;
                    case Resolution.HOUR:
                        result = dt.ToString(HOUR_FORMAT);

                        break;
                    case Resolution.MINUTE:
                        result = dt.ToString(MINUTE_FORMAT);

                        break;
                    case Resolution.SECOND:
                        result = dt.ToString(SECOND_FORMAT);

                        break;
                    case Resolution.MILLISECOND:
                        result = dt.ToString(MILLISECOND_FORMAT);

                        break;
                }

                return result;
            }

            public static string TimeToString(DateTime time, Resolution resolution)
            {
                return TimeToString(DateTimeToLong(time), resolution);
            }

            public static long Round(long time, Resolution resolution)
            {
                DateTime dt = BASE_UNIVERSAL_TIME.AddMilliseconds(time).ToUniversalTime();

                switch (resolution)
                {
                    case Resolution.YEAR:
                        dt = dt.AddMonths(1 - dt.Month).AddDays(1 - dt.Day).AddHours(0 - dt.Hour).AddMinutes(0 - dt.Minute).AddSeconds(0 - dt.Second).AddMilliseconds(0 - dt.Millisecond);

                        break;
                    case Resolution.MONTH:
                        dt = dt.AddDays(1 - dt.Day).AddHours(0 - dt.Hour).AddMinutes(0 - dt.Minute).AddSeconds(0 - dt.Second).AddMilliseconds(0 - dt.Millisecond);

                        break;
                    case Resolution.DAY:
                        dt = dt.AddHours(0 - dt.Hour).AddMinutes(0 - dt.Minute).AddSeconds(0 - dt.Second).AddMilliseconds(0 - dt.Millisecond);

                        break;
                    case Resolution.HOUR:
                       dt = dt.AddMinutes(0 - dt.Minute).AddSeconds(0 - dt.Second).AddMilliseconds(0 - dt.Millisecond);

                        break;
                    case Resolution.MINUTE:
                        dt = dt.AddSeconds(0 - dt.Second) .AddMilliseconds(0 - dt.Millisecond);

                        break;
                    case Resolution.SECOND:
                        dt = dt.AddMilliseconds(0 - dt.Millisecond);

                        break;
                    case Resolution.MILLISECOND:
                        break;
                }

                return DateTimeToLong(dt);
            }

            public static DateTime Round(DateTime date, Resolution resolution)
            {
                return LongToDateTime(Round(DateTimeToLong(date), resolution));
            }

            public static long DateTimeToLong(DateTime time)
            {
                return (long)(time.ToUniversalTime() - BASE_UNIVERSAL_TIME).TotalMilliseconds;
            }

            public static DateTime LongToDateTime(long l)
            {
                return BASE_UNIVERSAL_TIME.AddMilliseconds(l).ToUniversalTime();
            }

            public enum Resolution
            {
                YEAR,
                MONTH,
                DAY,
                HOUR,
                MINUTE,
                SECOND,
                MILLISECOND
            }
        }

    posted on 2007-05-17 12:00 Terry Liang 閱讀(1691) 評(píng)論(2)  編輯  收藏 所屬分類: Lucene 2.1研究

    FeedBack:
    # re: 基于Lucene 2.1研究:時(shí)間的處理 2007-07-12 10:53 heavenking
    誰(shuí)給我講講“private static readonly”這一句是啥意思?????小第初學(xué)!謝謝了。
      回復(fù)  更多評(píng)論
      
    # re: 基于Lucene 2.1研究:時(shí)間的處理 2007-07-12 11:01 Terry Liang
    @heavenking
    私有的靜態(tài)的只讀變量
    私有:此變量只在類內(nèi)部可以訪問(wèn)
    靜態(tài):此變量只會(huì)在類初始化時(shí)創(chuàng)建一次
    只讀:運(yùn)行時(shí)不可以改變此變量的值  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 亚洲狠狠久久综合一区77777| 亚洲高清偷拍一区二区三区| 亚洲视频中文字幕| 在线毛片片免费观看| 亚洲av永久无码精品漫画| 中文无码成人免费视频在线观看| 国产亚洲一区二区手机在线观看| 久久精品免费网站网| 亚洲自偷自偷在线制服 | 国产男女爽爽爽免费视频| 亚洲福利精品一区二区三区| 一级毛片a女人刺激视频免费 | 免费无码一区二区| 亚洲欧洲中文日韩久久AV乱码| 国产高清视频免费在线观看| 亚洲国产成人一区二区三区| 三年片在线观看免费大全电影 | 日本亚洲欧美色视频在线播放| 免费看男女下面日出水视频| 国产精品成人免费观看| 五月天网站亚洲小说| 18禁男女爽爽爽午夜网站免费| 亚洲粉嫩美白在线| 全部免费a级毛片| 在线毛片片免费观看| 亚洲中文字幕无码一去台湾| 免费欧洲美女牲交视频| a成人毛片免费观看| 亚洲AV无码成人专区| 亚洲?V乱码久久精品蜜桃| 光棍天堂免费手机观看在线观看 | 免费视频成人手机在线观看网址| 久久精品国产亚洲夜色AV网站 | 无码欧精品亚洲日韩一区夜夜嗨| 久久久久女教师免费一区| 久久亚洲精品无码aⅴ大香| 97人伦色伦成人免费视频| 亚洲一级片免费看| 久久精品国产亚洲av麻豆图片| www.91亚洲| 久久电影网午夜鲁丝片免费|