NSDate を使って現在の日付を年・月・日・分・秒単位で取得してみる
2015-06-11 11:19:10 +0000
平成27年6月11日木曜日 20時19分10秒 日本標準時
1. H27/06/11 20:22
2. H27/06/11 20:22:13
3. 平成27年6月11日 20:22:13 JST
4. 平成27年6月11日木曜日 20時22分13秒 日本標準時
5.
1. 0027/06/11
2. 20/26/28
3. 平成0027年06月11日(木曜日)20時26分28秒
1. 平成27年6月11日木曜日 20時26分33秒 日本標準時
2. 2015/06/11(Thursday)20:26:33
3. 平成27年06月/11日(木曜日)午後08:26:33
3. (
eu,
"hr_BA",
"en_CM",
"rw_RW",
"en_SZ",
"tk_Latn",
"uz_Arab",
"he_IL",
ar,
"en_PN",
as,
"en_NF",
"rwk_TZ",
"zh_Hant_TW",
"gsw_LI",
"th_TH",
"ta_IN",
"es_EA",
"fr_GF",
...........
)
1. 平成27年6月11日木曜日 20時26分47秒 日本標準時
2. 平成27年6月11日木曜日 4時26分47秒 アメリカ太平洋夏時間
2. 平成27年6月11日木曜日 11時26分47秒 GMT
2015-06-11 20:26:50.723 DateType[5479:3678463] {
ADT = "America/Halifax";
AKDT = "America/Juneau";
AKST = "America/Juneau";
ART = "America/Argentina/Buenos_Aires";
AST = "America/Halifax";
BDT = "Asia/Dhaka";
BRST = "America/Sao_Paulo";
BRT = "America/Sao_Paulo";
BST = "Europe/London";
CAT = "Africa/Harare";
CDT = "America/Chicago";
CEST = "Europe/Paris";
CET = "Europe/Paris";
CLST = "America/Santiago";
CLT = "America/Santiago";
.........
}
平成1957年2月15日木曜日 23時59分59秒 日本標準時
平成27年6月11日木曜日 20時26分55秒 日本標準時
平成27年6月12日金曜日 20時26分55秒 日本標準時
一致
dt01 < dt02
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// [簡易表示]ボタンを押す
- (IBAction)proc01:(id)sender {
// 表示対象(現在日時(システム日付))
NSDate *dt =[NSDate date];
// パターン1 description:説明
NSString *str01 = [dt description];
NSLog(@"%@",str01);
// パターン2
NSString *str02 = [dt descriptionWithLocale:[NSLocale currentLocale]];
NSLog(@"%@",str02);
}
// [表示(書式スタイル設定)]ボタンを押す
- (IBAction)proc02:(id)sender {
// 表示対象
NSDate *dt =[NSDate date];
//日時書式作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
// スタイル1
df.dateStyle = NSDateFormatterShortStyle;
df.timeStyle = NSDateFormatterShortStyle;
NSLog(@"1. %@",[df stringFromDate:dt]);
// スタイル2
df.dateStyle = NSDateFormatterMediumStyle;
df.timeStyle = NSDateFormatterMediumStyle;
NSLog(@"2. %@",[df stringFromDate:dt]);
// スタイル3
df.dateStyle = NSDateFormatterLongStyle;
df.timeStyle = NSDateFormatterLongStyle;
NSLog(@"3. %@",[df stringFromDate:dt]);
// スタイル4
df.dateStyle = NSDateFormatterFullStyle;
df.timeStyle = NSDateFormatterFullStyle;
NSLog(@"4. %@",[df stringFromDate:dt]);
// スタイル5
df.dateStyle = NSDateFormatterNoStyle;
df.timeStyle = NSDateFormatterNoStyle;
NSLog(@"5. %@",[df stringFromDate:dt]);
}
// [表示(書式設定)]ボタンを押す
- (IBAction)proc03:(id)sender
{
// 表示対象
NSDate *dt =[NSDate date];
//日時書式作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
// パターン1
df.dateFormat = @"yyyy/MM/dd";
NSLog(@"1. %@",[df stringFromDate:dt]);
// パターン2
df.dateFormat = @"HH/mm/ss";
NSLog(@"2. %@",[df stringFromDate:dt]);
// パターン3 AD Anno Domini
df.dateFormat =
@"GGGGyyyy年MM月dd日(EEEE)"
@"HH時mm分ss秒";
NSLog(@"3. %@",[df stringFromDate:dt]);
}
// [表示(言語環境(書式(ロケール)、カレンダー)設定)]ボタンを押す
- (IBAction)proc04:(id)sender {
// 表示対象
NSDate *dt =[NSDate date];
//日時書式作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
// パターン1(システム設定)
df.locale = [NSLocale currentLocale];
df.calendar = [NSCalendar currentCalendar];
df.dateStyle = df.timeStyle = NSDateFormatterFullStyle; // 識別子:4 でも処理出来る
// 日付型 文字列変換
NSLog(@"1. %@",[df stringFromDate:dt]);
// パターン2(設定:英語 ー アメリカ合衆国、西暦)
df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
df.calendar = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
df.dateFormat =@"yyyy/MM/dd(EEEE)" @"HH:mm:ss";
NSLog(@"2. %@",[df stringFromDate:dt]);
// パターン3(設定:日本語 ー 日本、和暦)
df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
df.calendar = [[NSCalendar alloc]
initWithCalendarIdentifier:NSJapaneseCalendar];
// (EE)金 (EEEE)金曜日
df.dateFormat =@"GGyy年MM月/dd日(EEEE)" @"ahh:mm:ss";
NSLog(@"3. %@",[df stringFromDate:dt]);
}
// [表示(ロケール識別子一覧)]ボタンを押す
- (IBAction)proc04s:(id)sender {
// 利用可能な「言語/国コード」
NSArray *arr = [NSLocale availableLocaleIdentifiers];
NSLog(@"3. %@",arr);
}
// [表示(タイムゾーン設定)]ボタンを押す
- (IBAction)proc05:(id)sender {
// 表示対象
NSDate *dt =[NSDate date];
//日時書式作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = df.timeStyle = NSDateFormatterFullStyle;
// パターン1(システム設定)日本標準時
df.timeZone = [NSTimeZone systemTimeZone];
NSLog(@"1. %@",[df stringFromDate:dt]);
// パターン2(タイムゾーン名の設定)アメリカロサンゼルス標準時
df.timeZone = [NSTimeZone timeZoneWithName:@"America/Los_Angeles"];
NSLog(@"2. %@",[df stringFromDate:dt]);
// パターン3(タイムゾーン略称の設定)グリニッジ標準時
df.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSLog(@"2. %@",[df stringFromDate:dt]);
}
// [タイムゾーン一覧]ボタンを押す
- (IBAction)proc05s:(id)sender {
NSDictionary *dic = [NSTimeZone abbreviationDictionary];
NSLog(@"%@",dic);
}
// [文字列から変換]ボタンを押す
- (IBAction)proc06:(id)sender {
// 日時書式の作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"yyyy/MM/dd HH:mm:ss";
// 日付型へ変換
NSString *str = @"1957/02/15 23:59:59";
NSDate *dt = [df dateFromString:str];
NSLog(@"%@",[dt descriptionWithLocale:
[NSLocale currentLocale]]);
}
// [経過日時の取得]ボタンを押す
- (IBAction)proc07:(id)sender {
// 基準日時
NSDate *dt01 =[NSDate date];
//経過日時の取得(単位:秒)
// NSDate *dt02 = [[NSDate dateWithTimeInterval:60.0 // double型
// sinceDate:dt01] init];
// 分 X 時間 X 日 過去日付 - (マイナスにすれば良い)
NSDate *dt02 = [[NSDate dateWithTimeInterval:60.0 * 60 * 24.0 // double型
sinceDate:dt01] init];
NSLog(@"%@",[dt01 descriptionWithLocale:[NSLocale currentLocale]]);
NSLog(@"%@",[dt02 descriptionWithLocale:[NSLocale currentLocale]]);
}
// [一致判定]ボタンを押す
- (IBAction)proc08:(id)sender {
// 日時書式の作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"yyyy/MM/dd HH:mm:ss";
NSDate *dt01 = [df dateFromString:@"2000/01/01 01:01:01"];
NSDate *dt02 = [df dateFromString:@"2000/01/01 01:01:01"];
//
BOOL res = [dt01 isEqualToDate:dt02];
if (res) { // (res == YES)
NSLog(@"一致");
} else {
NSLog(@"不一致");
}
}
// [大小判定]ボタンを押す
- (IBAction)proc09:(id)sender {
// 日時書式の作成
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"yyyy/MM/dd HH:mm:ss";
NSDate *dt01 = [df dateFromString:@"2000/01/01 01:01:01"];
NSDate *dt02 = [df dateFromString:@"2000/01/01 01:01:09"];
// 大小判定 compare 比較
NSComparisonResult res = [dt01 compare:dt02];
switch (res) {
case NSOrderedAscending: // 昇順
NSLog(@"dt01 < dt02");
break;
case NSOrderedSame: // 同じ
NSLog(@"dt01 = dt02");
break;
case NSOrderedDescending: // 降順
NSLog(@"dt01 > dt02");
break;
default:
break;
}
}
@end
GitHub DateType
コメントをお書きください