NSDate的使用方法及步驟(比較兩個日期的前後)
NSDate這個類接觸的時候很像Java中Date,所以很多方法似乎都是一樣,只是名字不同而已。
下面是幾個典型時間操作:
1、系統時間按照設定的格式以字串形式輸出:
// 建立一個時間物件
NSDate *date = [NSDatedate];
// (PS:剛開始的時候很多人覺得時間不對,其實date的時間是0時區的時間,而中國在(北京-東8區),相差8個小時,所以把系統時間的小時加上8,就是中國北京的時間了)
// 日期格式化類
NSDateFormatter *formatter = [[NSDateFormatteralloc] init];
// 設定時間格式
formatter.dateFormat [email protected]"yyyy-MM-dd HH:mm:ss";
/*
y年 M月 d日
H(24小時制)時 h(12小時制)時 m分 s秒
*/
// 時間轉為字串
NSString *str = [formatter stringFromDate:date];
NSLog(@"%@",str);
2、給時間字串轉化為設定格式輸出的時間:
// 將字串轉化為時間
NSString *str2 [email protected]"2012/03/09 22:38:17";
// 日期格式化類
NSDateFormatter *formatter2 = [[NSDateFormatteralloc] init];
// 設定時間格式
formatter2.dateFormat [email protected]"yyyy/MM/dd HH:mm:ss";
// 字串轉為時間
NSDate *date2 = [formatter2 dateFromString:str2];
NSLog (@"%@",date2);
3、建立時間物件的方法
// 建立一個時間物件的方法
NSDate *date1 = [NSDatedate];
NSLog(@"%@",date1);
//這個方法表示:從date1的時間開始,返回3600秒即一個小時時間後的時間
NSDate *date2 = [NSDatedateWithTimeInterval:3600sinceDate:date1];
NSLog(@"%@",date2);
/*
2015-09-07 20:46:28.379 NSDate[1599:173993] 2015-09-07 12:46:28 +0000
2015-09-07 20:46:28.380 NSDate[1599:173993] 2015-09-07 13:46:28 +0000
*/
//這個方法表示:從1970年1月1日 00:00:00的時間開始,返回3600秒即一個小時時間後的時間
NSDate *date3 = [NSDatedateWithTimeIntervalSince1970:3600];
NSLog(@"%@",date3);
// 2015-09-07 20:49:07.912 NSDate[1607:177220] 1970-01-01 01:00:00 +0000
//這個方法表示:從2001年1月1日 00:00:00的時間開始,返回3600秒即一個小時時間後的時間
NSDate *date4 = [NSDatedateWithTimeIntervalSinceReferenceDate:3600];
NSLog(@"%@",date4);
//這個方法表示:從現在的時間開始,返回3600秒即一個小時時間後的時間
NSDate *date5 = [NSDatedateWithTimeIntervalSinceNow:3600];
NSLog(@"%@",date5);
方法實在太多,很難一一舉例,往往都是實踐的時候再找文件,所以就寫到這裡,內容很淺顯,希望對你有幫助!
補充:比較兩個日期的前後
+(int)compareOneDay:(NSDate *)oneDay withAnotherDay:(NSDate *)anotherDay
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *oneDayStr = [dateFormatter stringFromDate:oneDay];
NSString *anotherDayStr = [dateFormatter stringFromDate:anotherDay];
NSDate *dateA = [dateFormatter dateFromString:oneDayStr];
NSDate *dateB = [dateFormatter dateFromString:anotherDayStr];
NSComparisonResult result = [dateA compare:dateB];
NSLog(@"date1 : %@, date2 : %@", oneDay, anotherDay);
if (result == NSOrderedDescending) {
//NSLog(@"Date1 is in the future");
return 1;
}
else if (result == NSOrderedAscending){
//NSLog(@"Date1 is in the past");
return -1;
}
//NSLog(@"Both dates are the same");
return 0;
}
相關推薦
NSDate的使用方法及步驟(比較兩個日期的前後)
NSDate這個類接觸的時候很像Java中Date,所以很多方法似乎都是一樣,只是名字不同而已。 下面是幾個典型時間操作: 1、系統時間按照設定的格式以字串形式輸出: // 建立一個時間物件 NSDate *date = [NSDated
hibernate配置多個數據源及事物(以兩個資料來源為例)
在ssh專案中,需要連線兩個不同ip下的資料庫,所以必須要給hibernate配置兩個或多個數據源 因為我只有一臺電腦,所以我配置的是sqlserver+mysql兩個資料來源 首先hibernate配置是直接從myeclipse中新增的 右鍵----myeclipse
js比較兩個日期大小的簡單方法
下面程式碼是拿一個指定日期和當前系統時間比較大小 var finishDate = "2017-10-12 13:11:03"; finishDate = finishDate .replace("-","/");//替換字元,變成標準格式 finishDate = ne
C#代碼中如何比較兩個日期的大小?
inf div return 比較 action tco date string 技術 C#中比較兩個日期大小的方法 /// <summary> /// 比較兩個日期大小 /// </summary>
Java的環境配置步驟(配置三個環境變數)
1, Classpath的配置 . 2,path的配置 C:\Program Files (x86)\Java\jdk1.8.0_11\bin 3,Java_hom
js-比較兩個日期的大小
第一種方法: function CompareDate(d1,d2) { return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/")))); } var current_time = "20
LeetCode刷題記錄——第八十八題(合併兩個有序陣列)
題目描述 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為一個有序陣列。 說明: 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。 你可以假設 nums1 有足夠的空間(
CF193D Two Segments (線段樹+dp)(外加兩個擴充套件題)
大概算是個系列整理 (最強版是模擬賽原題)) 首先,我們先來看這個題目。 QWQ一開始是毫無頭緒,除了列舉就是列舉 首先,我們可以列舉一個右端點,然後算一下當前右端點的答案 我們令\(f[l,r]\)表示\(a_l到a_r\)這些數,能夠最少劃分成幾段連續的數。 顯然,我們要求的是以每個端點為右端
java實現計算兩個日期相差多少月、比較兩個日期大小 等常用日期操作
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.u
JAVA 比較兩個日期相差的天數,隔天計算
JAVA 比較兩個日期相差的天數 在工作中我們經常遇到需要計算兩個日期相差的天數的問題,一個是通過得到兩個日期之間的毫秒數,換算成天數得到究竟差了多少天.但是這種問題會出現隔天問題,既: 2017.11.16 4:35 到 2017.11.17 3:35
java 比較兩個日期大小日期型別和字元型別
/** * 比較兩個日期之間的大小 * * @param d1 * @param d2 * @return 前者大於後者返回true 反之false */ public static b
C#比較兩個日期的大小
using System;using System.Collections;public class MyClass{public static void Main(){DateTime dt1 = DateTime.Parse("2006-04-01");DateTime
JS比較兩個日期的大小
最近遇到一個問題是關於日期的大小比較,如果日期不同位就會出現判斷錯誤,所以這裡驚醒一下自己。出現這個情況的原因是,字串比較小,遵循從左到右的原則,’2’和’1314’比較,’2’大於’1314’。
shell, python中比較兩個日期的先後
在Shell中我們可以利用date命令比較兩個日期的大小,方法是先把日期轉換成時間戳格式,再進行比較。 date 的+%s可以將日期轉換成時間戳格式,看下面的例子: #!/bin/bash date1="2008-4-09 12:00:00" date2="20
JAVA 比較兩個日期相差的天數
在測試工作中經常會使用到比較兩個日期相差的天數,我之前用過實現這一功能的兩個版本的方法,原始碼如下: 版本一:public static int getIntervalDays(Date fDate, Date oDate) { if (null == fDa
如何比較兩個EXCEL 檔案的不同(各個EXCEL版本的方法)
情景對話: Marketing給你傳了一個EXCEL,發話:這是最新版本,上次的作廢,把新的release出去吧。 我,開啟...納尼?!沒有mark,沒有comments?我怎麼知道你改了什麼??每個都對過來?!!我能爆粗口麼 !@&am
比較兩個java.util.Date 的日期(年月日)是否相同(忽略時、分、秒)的多種方法
介紹幾種比較Date年月日的方法 1、需求: 1)下面兩個時間進行比較: Thu Jan 01 08:59:00 CST 1970 Thu Jan 01 08:48:00 CST 1970 =》比較結果:same 2)下面兩個時間進行比較: Thu Jan
比較兩個對象屬性及屬性值
bject ace ive args main authorize code pre cer import java.lang.reflect.Method; private static Object getFieldValue(Object thisClass, St
shell腳本學習(2)比較兩個數字大小
$1 num centos7 錯誤 you equal shel 腳本 語句 註意:shell中對比字符串只能使用==、<、>、!=、-z、-n。對比字符串時,末尾一定要加上x(或者a、b等)一個字符,因為if [ $1x == "ab"x ]時如果沒有了x
List中的Contains方法內部其實是用對象的equals方法做比較,所以如果比較兩個類就重寫類的equals方法即可
mage image inf post lis con bsp 兩個類 png List中的Contains方法內部其實是用對象的equals方法做比較,所以如果比較兩個類就重寫類的equals方法即可