全局變量的定義:var timer : Timer!
成都創(chuàng)新互聯(lián)公司公司2013年成立,公司以成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶成百上千家,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
使用:timer=Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.textfieldNotification), userInfo: nil, repeats: true)
textfieldNotification是timer的方法名
銷毀:如果像OC一樣直接timer.invalidate()會(huì)崩潰,要用
guard let timer1 = self.timer
else{ return }
timer1.invalidate()
收錄:
不同情況,不同方法,具體如下:1、TODAY () 函數(shù)和 NOW () 函數(shù) TODAY 函數(shù)根據(jù)您的系統(tǒng)時(shí)鐘返回今天日期的序數(shù),不包括時(shí)間。NOW 函數(shù)返回今天日期的序數(shù),包括時(shí)間。 2、根據(jù)序數(shù)對日期排序 在 Excel 中,日期是根據(jù)日期序數(shù)而不是顯示的數(shù)字進(jìn)行排序的。因此,當(dāng)您在 Excel 中對日期排序時(shí),產(chǎn)生的結(jié)果可能不是您所期望的。 例如,如果對以 mmmm 日期格式顯示的一系列日期進(jìn)行排序(以便只顯示月份),月份并不 按字母順序排序。相反,日期將根據(jù)它們的基本日期序數(shù)排序。 3、根據(jù)序數(shù)比較日期 由于在對日期和時(shí)間進(jìn)行比較時(shí)也使用序數(shù),因此實(shí)際結(jié)果可能與您所期望的(根據(jù)顯示的值)不同。 例如,當(dāng)使用 NOW 函數(shù)將某一日期與當(dāng)前日期比較時(shí),如以下公式所示 =IF(NOW()=DATEVALUE("10/1/92"),TRUE,FALSE) 即使當(dāng)前日期為 10/1/92,該公式也返回 FALSE;僅當(dāng)日期為 10/1/92 12:00:00 a.m. 時(shí),它才返回 TRUE。 (1)、如果通過公式比較兩個(gè)日期,而且無需在結(jié)果中包括時(shí)間,則可以改用 TODAY 函數(shù)來避免這一問題: =IF(TODAY()=DATEVALUE("10/1/92"),TRUE,FALSE) 如何確定今天與未來某個(gè)日期之間相隔的天數(shù) (2)、要確定現(xiàn)在與未來某個(gè)日期之間相隔的天數(shù),請使用下面的公式: ="mm/dd/yy"-NOW()其中,"mm/dd/yy" 是未來的日期。使用“常規(guī)”格式可以設(shè)置包含該公式的單元格的格式。
NSDate* _date = [ [ NSDate alloc] initWithString:@"2012-03-07 00:35:00 -0500"];
一、創(chuàng)建日期/時(shí)間選取器
UIDatePicker 使用起來比標(biāo)準(zhǔn) UIPickerView 更簡單。他會(huì)根據(jù)你指定的日期范圍創(chuàng)建自己的數(shù)據(jù)源。使用它只需要?jiǎng)?chuàng)建一個(gè)對象:
UIDatePicker *datePicker = [ [ UIDatePicker alloc] initWithFrame:CGRectMake(0.0,0.0,0.0,0.0)];
默認(rèn)情況下選取會(huì)顯示目前的日期和時(shí)間,并提供幾個(gè)表盤,分別顯示可以選擇的月份和日期、小時(shí)、分鐘、以及上午、下午。因此用戶默認(rèn)可以選擇任何日期和時(shí)間的組合。
二、日期選取器模式
日期/時(shí)間選取器支持4種不同模式的選擇方式。通過設(shè)置 datePickerMode 屬性,可以定義選擇模式:
datePicker.datePickerMode = UIDatePickerModeTime;
支持的模式:
typedef enum {
UIDatePickerModeTime, // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)
UIDatePickerModeDate, // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)
UIDatePickerModeDateAndTime, // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
UIDatePickerModeCountDownTimer // Displays hour and minute (e.g. 1 | 53)
} UIDatePickerMode;
三、時(shí)間間隔
你可以將分鐘表盤設(shè)置為以不同的時(shí)間間隔來顯示分鐘,前提是該間隔要能夠讓60整除。默認(rèn)間隔是一分鐘。如果要使用不同的間隔,需要改變 minuteInterval屬性:
datePicker.minuteInterval = 5;
四、日期范圍
你可以通過設(shè)置mininumDate 和 maxinumDate 屬性,來指定使用的日期范圍。如果用戶試圖滾動(dòng)到超出這一范圍的日期,表盤會(huì)回滾到最近的有效日期。兩個(gè)方法都需要NSDate 對象作參數(shù):
NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];
NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];
datePicker.minimumDate = minDate;
datePicker.maximumDate = maxDate;
如果兩個(gè)日期范圍屬性中任何一個(gè)未被設(shè)置,則默認(rèn)行為將會(huì)允許用戶選擇過去或未來的任意日期。這在某些情況下很有用處,比如,當(dāng)選擇生日時(shí),可以是過去的任意日期,但終止與當(dāng)前日期。如果你希望設(shè)置默認(rèn)顯示的日期,可以使用date屬性:
datePicker.date = minDate;
此外,你還可以用 setDate 方法。如果選擇了使用動(dòng)畫,則表盤會(huì)滾動(dòng)到你指定的日期:
[datePicker setDate:maxDate animated:YES];
五、顯示日期選擇器
[self.view addSubview:datePicker];
需要注意的是,選取器的高度始終是216像素,要確定分配了足夠的空間來容納。
六、讀取日期
NSDate* _date = datePicker.date;
由于日期選擇器是 UIControl的子類 (與UIPickerView不同),你還可以在UIControl類的通知結(jié)構(gòu)中掛接一個(gè)委托:
[datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];
只要用戶選擇了一個(gè)新日期,你的動(dòng)作類就會(huì)被調(diào)用:
-(void)dateChanged:(id)sender{
UIDatepicker* control = (UIDatePicker*)sender;
NSDate* _date = control.date;
/*添加你自己響應(yīng)代碼*/
}
實(shí)現(xiàn)日期選取器選中當(dāng)前時(shí)間:
1.想在每次加載軟件的時(shí)間都能將選取器加載到當(dāng)前的日期和時(shí)間,需要在viewDidLoad中創(chuàng)建一個(gè)新的NSDate對象,通過這種方式創(chuàng)建這個(gè)對象包含當(dāng)前的時(shí)間和時(shí)間。然后將datePicker設(shè)置為該日期,這樣就可以確保每次從nib中加載此視圖時(shí),選取器都會(huì)重置為當(dāng)前得日期和時(shí)間..
2.-(void)viewDidLoad{
NSDate *now = [[NSDate alloc]init];
[datePicker setDate:now animated:NO];
}
3.然后在你需要獲取日期的方法中:
NSDate *selected = [datePicker date];
4.你可以獲取到當(dāng)前0時(shí)區(qū)的時(shí)間,如果需要設(shè)置日期的格式需要添加如下的格式訂制:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
這是規(guī)定了西八時(shí)區(qū)的時(shí)間格式。