/************************************ * Method: getCountBetweenDateTimes * FullName: MyForm.util.DateUtil.getCountBetweenDateTimes * Returns: long * CreateTime: 2017/07/07 9:02 * Parameter: string oldDateTimeStr * Parameter: TimeStampEnum timeStampEnum * Description: 根据参数获取日期时间到当前时间的特定维度的差值 ************************************/ public static long getCountBetweenDateTimes(string oldDateTimeStr, TimeStampEnum timeStampEnum) { return(getCountBetweenDateTimes(DateTime.Now, getDateTime(oldDateTimeStr), timeStampEnum)); }
private double GetMinutesFromEnum(TimeStampEnum timeStamp, int amount) => timeStamp switch {
/************************************ * Method: getCountBetweenDateTimes * FullName: MyForm.util.DateUtil.getCountBetweenDateTimes * Returns: long * CreateTime: 2017/07/07 8:59 * Parameter: DateTime newDateTime * Parameter: DateTime oldDateTime * Parameter: TimeStampEnum timeStampEnum * Description: 根据参数获取两个日期时间的特定维度的差值 ************************************/ public static long getCountBetweenDateTimes(DateTime newDateTime, DateTime oldDateTime, TimeStampEnum timeStampEnum) { TimeSpan timeSpan = newDateTime.Subtract(oldDateTime); if (timeStampEnum == TimeStampEnum.MILLISECOND) { return((long)Math.Floor(timeSpan.TotalMilliseconds)); } else if (timeStampEnum == TimeStampEnum.SECOND) { return((long)Math.Floor(timeSpan.TotalSeconds)); } else if (timeStampEnum == TimeStampEnum.MINUTE) { return((long)Math.Floor(timeSpan.TotalMinutes)); } else if (timeStampEnum == TimeStampEnum.HOUR) { return((long)Math.Floor(timeSpan.TotalHours)); } else if (timeStampEnum == TimeStampEnum.DAY) { return((long)Math.Floor(timeSpan.TotalDays)); } else if (timeStampEnum == TimeStampEnum.WEEK) { return((long)Math.Floor(timeSpan.TotalDays / 7)); } else if (timeStampEnum == TimeStampEnum.MONTH) { long result = (newDateTime.Year - oldDateTime.Year) * 12 + (newDateTime.Month - oldDateTime.Month); return(result); } else if (timeStampEnum == TimeStampEnum.YEAR) { return(newDateTime.Year - oldDateTime.Year); } return(0); }