From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 12 Jul 2018 13:44:34 +0800
Subject: [PATCH] bug修复和功能优化

---
 screendisplay/screendisplay/Classes/Utility/DateUtil.m |  227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 227 insertions(+), 0 deletions(-)

diff --git a/screendisplay/screendisplay/Classes/Utility/DateUtil.m b/screendisplay/screendisplay/Classes/Utility/DateUtil.m
new file mode 100755
index 0000000..1bac353
--- /dev/null
+++ b/screendisplay/screendisplay/Classes/Utility/DateUtil.m
@@ -0,0 +1,227 @@
+//
+//  DateUtil.m
+//  airtree
+//
+//  Created by WindShan on 2016/11/17.
+//  Copyright �� 2016��� Gloria. All rights reserved.
+//
+
+#import "DateUtil.h"
+
+#define YMDFormat       @"YYYY-MM-dd"
+#define YMDEHMFormat    @"YYYY-MM-dd EEE HH:mm"
+#define YMDHMSFormat    @"YYYY-MM-dd HH:mm:ss"
+
+static NSDateFormatter *s_formatterYMD = nil;
+static NSDateFormatter *s_formatterYMDEHM = nil;
+static NSDateFormatter *s_formatterYMDHMS = nil;
+
+@implementation DateUtil
+
++ (NSDate *)adjustDateHour:(NSDate *)srcDate
+                   minHour:(NSUInteger)minHour
+                   maxHour:(NSUInteger)maxHour
+                   fitHour:(NSUInteger)fitHour
+{
+    //���������������������
+    if (srcDate == nil) {
+        return srcDate;
+    }
+    if (minHour >= 24 || maxHour >= 24 || fitHour >=24) {
+        minHour %= 24;
+        maxHour %= 24;
+        fitHour %= 24;
+    }
+    
+    NSInteger unitFlags = NSHourCalendarUnit;
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *componets = [calendar components:unitFlags fromDate:srcDate];
+    NSInteger hour = [componets hour];
+    
+    if (hour <= minHour) {
+        //(NSInteger)(fitHour-hour)*60*60������������������NSInteger������������������������������������������������������������������double������
+        srcDate = [srcDate dateByAddingTimeInterval:(NSInteger)(fitHour-hour)*60*60];
+    }
+    else if (hour >= maxHour) {
+        srcDate = [srcDate dateByAddingTimeInterval:(24+fitHour-hour)*60*60];
+    }
+    
+    return srcDate;
+}
+
++ (NSString *)stringFromDate:(NSDate *)date
+                    formater:(NSDateFormatter * __strong *)formatter
+                      format:(NSString *)format
+{
+    if (*formatter == nil) {
+        *formatter = [[NSDateFormatter alloc] init];
+        
+        [*formatter setLocale:[NSLocale  currentLocale]];
+        [*formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];
+        [*formatter setDateStyle:NSDateFormatterMediumStyle];
+        [*formatter setTimeStyle:NSDateFormatterShortStyle];
+        [*formatter setDateFormat:format];
+    }
+    
+    return [*formatter stringFromDate:date];
+}
+
++ (NSDate *)dateFromString:(NSString *)dateString
+                  formater:(NSDateFormatter * __strong *)formatter
+                    format:(NSString *)format
+{
+    if (dateString.length <= 0) {
+        return [NSDate date];
+    }
+    if (*formatter == nil) {
+        *formatter = [[NSDateFormatter alloc] init];
+        
+        [*formatter setLocale:[NSLocale  currentLocale]];
+        [*formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];
+        [*formatter setDateStyle:NSDateFormatterMediumStyle];
+        [*formatter setTimeStyle:NSDateFormatterShortStyle];
+        [*formatter setDateFormat:format];
+    }
+    
+    return [*formatter dateFromString:dateString];
+}
+
+
++ (NSString *)stringFromDateYMD:(NSDate *)date
+{
+    return [DateUtil stringFromDate:date formater:&s_formatterYMD format:YMDFormat];
+}
+
++ (NSDate *)dateFromStringYMD:(NSString *)dateString
+{
+    return [DateUtil dateFromString:dateString formater:&s_formatterYMD format:YMDFormat];
+}
+
++ (NSString *)stringFromDateYMDEHM:(NSDate *)date
+{
+    return [DateUtil stringFromDate:date formater:&s_formatterYMDEHM format:YMDEHMFormat];
+}
+
++ (NSDate *)dateFromStringYMDEHM:(NSString *)dateString
+{
+    return [DateUtil dateFromString:dateString formater:&s_formatterYMDEHM format:YMDEHMFormat];
+}
+
++ (NSString *)stringFromDateYMDHMS:(NSDate *)date
+{
+    return [DateUtil stringFromDate:date formater:&s_formatterYMDHMS format:YMDHMSFormat];
+}
+
++ (NSDate *)dateFromStringYMDHMS:(NSString *)dateString
+{
+    return [DateUtil dateFromString:dateString formater:&s_formatterYMDHMS format:YMDHMSFormat];
+}
+
++ (NSString *)getYear:(NSDate *)date
+{
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *comps = nil;
+    
+    /*
+     // ���������������
+     comps = [calendar components:NSYearCalendarUnit  | NSMonthCalendarUnit |
+     NSDayCalendarUnit
+     fromDate:date];
+     */
+    comps = [calendar components:NSCalendarUnitYear fromDate:date];
+    NSString *year = [NSString stringWithFormat:@"%@", @([comps year])];
+    
+    return year;
+}
+
++ (NSString *)getMonth:(NSDate *)date
+{
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *comps = nil;
+    
+    comps = [calendar components:NSCalendarUnitMonth fromDate:date];
+    NSString *month = [NSString stringWithFormat:@"%@", @([comps month])];
+    
+    return month;
+}
+
++ (NSString *)getDay:(NSDate *)date
+{
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *comps = nil;
+    
+    comps = [calendar components:
+             NSCalendarUnitDay fromDate:date];
+    NSString *day = [NSString stringWithFormat:@"%@", @([comps day])];
+    
+    return day;
+}
+
++ (NSString *)getHour:(NSDate *)date
+{
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *comps = nil;
+    
+    comps = [calendar components:
+             NSCalendarUnitHour fromDate:date];
+    NSString *hour = [NSString stringWithFormat:@"%@", @([comps day])];
+    
+    return hour;
+}
+
++ (NSString *)getMinute:(NSDate *)date
+{
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *comps = nil;
+    
+    comps = [calendar components:
+             NSCalendarUnitMinute fromDate:date];
+    NSString *minute = [NSString stringWithFormat:@"%@", @([comps day])];
+    
+    return minute;
+}
+
++ (NSString *)getSecond:(NSDate *)date
+{
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    NSDateComponents *comps = nil;
+    
+    comps = [calendar components:
+             NSCalendarUnitSecond fromDate:date];
+    NSString *second = [NSString stringWithFormat:@"%@", @([comps day])];
+    
+    return second;
+}
+
++ (NSString *)stringFromLong:(long)date
+{
+    NSDate *dateTime = [[NSDate alloc] initWithTimeIntervalSinceNow:date/1000];
+    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
+    [formatter setTimeStyle:NSDateFormatterNoStyle];
+    [formatter setDateStyle:NSDateFormatterMediumStyle];
+    NSLocale *formatterLocal = [[NSLocale alloc] initWithLocaleIdentifier:@"en_us"];
+    [formatter setLocale:formatterLocal];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
+    NSString *dateString = [formatter stringFromDate:dateTime];
+    
+    return dateString;
+}
+
+//���������������������n������������������ 2015-10-30
++ (NSString *)stringFromOffDateYMD:(NSDate *)date dayCount:(int)day
+{
+    NSTimeInterval time = day * 24 * 60 * 60;//n������������
+    //������������������������������������-���������������������������������������������������������������������������������������������������������������
+    NSDate * lastDateTime = [date dateByAddingTimeInterval:time];
+    
+    return [DateUtil stringFromDateYMD:lastDateTime];
+}
+
+//���������������
++ (BOOL)isToday:(NSString *)dateString
+{
+    NSString *nowString = [DateUtil stringFromDateYMD:[NSDate date]];
+    return [nowString isEqualToString:dateString];
+}
+
+@end

--
Gitblit v1.8.0