C#版DateAdd函数和DatePart函数

DateAdd函数:
/// <summary>
/// 返回已添加指定时间间隔的日期
/// </summary>
/// <param name="interval">表示要添加的时间类型</param>
/// <param name="number">表示要添加的时间间隔的个数</param>
/// <param name="date">表示要添加 interval 的日期</param>
/// <returns>已添加指定时间间隔的日期</returns>
DateTime DateAdd(String interval, Double number, DateTime date)
{
    String tempInterval = interval.ToLower();

    switch (tempInterval)
    {
        //年
        case "year":
        case "yyyy":
        case "yy":
            return date.AddYears(Convert.ToInt32(number));
            break;
        //月
        case "month":
        case "mm":
        case "m":
            return date.AddMonths(Convert.ToInt32(number));
            break;
        //日
        case "day":
        case "dd":
        case "d":
            return date.AddDays(number);
            break;
        //小时
        case "hour":
        case "hh":
        case "h":
            return date.AddHours(number);
            break;
        //分钟
        case "minute":
        case "mi":
            return date.AddMinutes(number);
            break;
        //秒
        case "second":
        case "ss":
        case "s":
            return date.AddSeconds(number);
            break;
        //毫秒
        case "millisecond":
        case "ms":
            return date.AddMilliseconds(number);
            break;
        default:
            return date;
            break;
    }
}

DatePart函数:
/// <summary>
/// 返回给定日期的指定部分
/// </summary>
/// <param name="interval">表示要返回的时间类型</param>
/// <param name="date">表示要返回指定部分的日期</param>
/// <returns>日期的指定部分</returns>
Double DatePart(String interval, DateTime date)
{
    String tempInterval = interval.ToLower();

    switch (tempInterval)
    {
        //年
        case "year":
        case "yyyy":
        case "yy":
            return Convert.ToDouble(date.Year);
            break;
        //月
        case "month":
        case "mm":
        case "m":
            return Convert.ToDouble(date.Month);
            break;
        //日
        case "day":
        case "dd":
        case "d":
            return Convert.ToDouble(date.Day);
            break;
        //小时
        case "hour":
        case "hh":
        case "h":
            return Convert.ToDouble(date.Hour);
            break;
        //分钟
        case "minute":
        case "mi":
            return Convert.ToDouble(date.Minute);
            break;
        //秒
        case "second":
        case "ss":
        case "s":
            return Convert.ToDouble(date.Second);
            break;
        //毫秒
        case "millisecond":
        case "ms":
            return Convert.ToDouble(date.Millisecond);
            break;
        //星期
        case "dayofweek":
            return Convert.ToDouble(date.DayOfWeek);
            break;
        //在当年第几天
        case "dayofyear":
            return Convert.ToDouble(date.DayOfYear);
            break;
        default:
            return 0.0000;
            break;
    }
}


评论: 0 | 引用: 0 | 查看次数: 7384
发表评论
登录后再发表评论!