Hatena::Groupiphone-dev

Ni chicha, ni limona - 平均から抜けられない僕

2010-01-27

[] 時刻設定をAM/PMではなく24時間表記で行わせたい 17:54  時刻設定をAM/PMではなく24時間表記で行わせたい - Ni chicha, ni limona - 平均から抜けられない僕 を含むブックマーク はてなブックマーク -  時刻設定をAM/PMではなく24時間表記で行わせたい - Ni chicha, ni limona - 平均から抜けられない僕  時刻設定をAM/PMではなく24時間表記で行わせたい - Ni chicha, ni limona - 平均から抜けられない僕 のブックマークコメント

いただいたコメントから確認したところ、ここで紹介している方法はデバイスの「24時間表記」設定次第で意味がなくなってしまうことが分かりました。

間違いであることを残しておくため記事はそのままにしますが、新たにこの記事を読んだ方はご注意ください。

失礼いたしました。

日付や時刻を指定してもらうときに便利なUIDatePickerで、24時間表記で時間を指定させたい(=AM/PM表記を無くしたい)ときの方法がStackOverFlowに載っていたので、補足がてら紹介します。


  iphone - How to disable AM/PM in UIDatePicker - Stack Overflow


あやまって普通のはてなダイアリーの方に記事を書いてしまったため、こちらのブログに移しました。

失礼いたしました。

それではまず

まず、UIDatePickerクラスの復習から。


このUIDatePickerは、日時の表示フォーマットを指定するときのために「datePickerMode」なるプロパティを提供しています。


@property(nonatomic) UIDatePickerMode datePickerMode

開発者はこの値を切り替えることで、表示形式させたいピッカーのフォーマットを指定できます。

利用できる値の定義は以下のとおり。


typedef enum {
   UIDatePickerModeTime,
   UIDatePickerModeDate,
   UIDatePickerModeDateAndTime,
   UIDatePickerModeCountDownTimer
} UIDatePickerMode;

それぞれの値の持つ意味は以下のとおり。

(すみません、今さらな内容ですが自分向けのメモということでご容赦ください)。


定義説明
UIDatePickerModeTime時と分、(optionalで)AM/PMを表示
UIDatePickerModeDate年、月、日を表示
UIDatePickerModeDateAndTime月、日(曜日)、時、分、(optionalで)AM/PMを表示
UIDatePickerModeCountDownTimer時と分。主にタイマーの指定に使用する

上記はドキュメントからの抜粋です。ここまでは良いですよね?*1


で、本題

で、問題なのは上の「AM/PM」という表記。これを何とか消せないか、というのがStackOverFlowでの質問として投げられていたわけです。

実際、私の環境でも上記enumをUIDatePickerModeTimeやUIDatePickerModeDateAndTimeなどを試してみましたが、どちらに設定してもAM/PMが消えません。もちろん、これらを操作できるようなメソッドも無し。どうしたら良いのだろうなと思って続きを読んでみたところ、「これはUIDatePickerに指定したロカールの形式に従って、AM/PMを含む表示フォーマットが決まるよ」という回答が付いていました。

なるほどということで、私も早速回答に使われていた"dk_DK"*2を使用してチェック。


	/*
	 * このUIDatePickerの使い方は、書籍:
	 * 「iPhone SDK 3 Programming - Advanced Mobile Development
	 *    for Apple iPhone and iPod touch」
	 * を参考にしています。
	 */
	UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame:CGRectZero];
	picker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
	picker.datePickerMode = UIDatePickerModeDateAndTime;
	CGSize size = [picker sizeThatFits:CGSizeZero];
	picker.frame = CGRectMake(0.0f, 150.0f, size.width, size.height);
	NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"dk_DK"];
	picker.locale = locale;
	[locale release];
	[self.view addSubview:picker];
	[picker release];

↓ビフォー。


   f:id:paella:20100127175057p:image


↓アフター。


   f:id:paella:20100127175049p:image


成功です。図では時刻がずれていますが、それはアリバイ隠しのためでありどちらもちゃんと現在時刻(デフォルトの場合)で表示してくれたので、設定したロカールで時差が付けられてしまったりすることもありませんでした。

若干バッドノウハウな気がしないでもないですが、まあ、そういうものだと割り切って使えば便利じゃないかと思います。


注意:

iPhone SDK3.1.2のシミュレータ上で確認したときは、上記ロカールの設定は効果がありませんでした。ただ、実機では問題なく動いていますので大丈夫でした。


という、「am/pmがなくなる」という時事ネタでした。お粗末様でしたゴメンナサイスミマセン。

*1:実はUIDatePickerをアプリ作成で使ったことが無いので、新しい知識として覚えました。

*2デンマークです。

mosa10mosa102010/03/15 21:13シミュレーター上で設定>一般>言語環境>書式「日本」に設定すると、アフターの表示になりますよ。

paellapaella2010/03/16 02:03ありがとうございます。なるほど、そういうことだったのですね。

desingdesing2010/05/30 16:01これってiPhone側の設定を24時間表記にしてると自動的にam/pmが消えるんだと思います。
要するにデバイス側の設定でピッカーの表示も変化する・・・という。

paellapaella2010/05/31 15:06desingさん、ありがとうございます。確認してみたら・・・確かにそうですね。また現在のStackOverFlowでも「無理」となっていました。。。

御指摘ありがとうございました。

Online Lenders Online Lenders 2018/08/05 00:03instant loans no credit check <a href="http://directlending.cars">bad credit payday loans</a> loans <a href=http://directlending.cars>loans with bad credit</a>

Payday Loan Online Payday Loan Online 2018/10/14 08:10poor credit loans guaranteed approval <a href="https://creditloansguaranteedapproval.com/">business loans for startups</a> bad credit loans <a href=https://creditloansguaranteedapproval.com/>credit loans guaranteed approval</a>

btfepidabtfepida2018/10/24 16:11adverse credit payday loans <a href="http://wwwonlinepaydayloans.com/">debt consolidation loan bad credit</a> consolidate debt <a href=http://wwwonlinepaydayloans.com/>400 payday loan</a>

hsfthozyhsfthozy2018/10/25 17:26buy viagra cheap <a href="https://almeidacorp.com/">viagra online</a> viagra patent <a href=https://almeidacorp.com/>viagra online generic</a>

bsfservebsfserve2018/10/27 14:37cash advance loans <a href="http://cash-advances-today.com/">payday loans</a> personal loans <a href=http://cash-advances-today.com/>advance america</a>

snfepidasnfepida2018/10/28 18:09instant online payday loan <a href="http://perfectbadcreditloans.com/">personal loans no credit check</a> poor credit loans <a href=http://perfectbadcreditloans.com/>personal loans online</a>

vskservevskserve2018/11/01 07:07free viagra <a href="http://movietrailershd.org/">cheap viagra online</a> natural alternative to viagra <a href=http://movietrailershd.org/>generic viagra online</a>

sfrthozysfrthozy2018/11/03 21:51bad credit personal installment loan <a href="http://usconstitutionof1777.com/">cash advance online</a> bank accounts online <a href=http://usconstitutionof1777.com/> payday loans online</a>

btzliawsbtzliaws2018/11/05 04:23price viagra <a href="http://usa77www.com/">viagra 200mg</a> viagra pills <a href=http://usa77www.com/>generic viagra online</a>

nsfepidansfepida2018/11/06 13:13real viagra for sale <a href="http://www.bitcapblog.com/">best place to buy viagra online</a> viagra suppliers <a href=http://www.bitcapblog.com/>where to buy viagra online</a>

nfgservenfgserve2018/11/08 10:56purchase viagra <a href="https://authenticknicksstore.com/">online cialis</a> viagra natural <a href=https://authenticknicksstore.com/>online cialis</a>

bstepidabstepida2018/11/09 02:59viagra substitute <a href="http://erectionakebd.com/">viagra generic online</a> viagra dose <a href=http://erectionakebd.com/>viagra generic</a>

bfhservebfhserve2018/11/11 05:46viagra buy <a href="http://viagraeq.com/">viagra cheap</a> best price viagra <a href=http://viagraeq.com/>buy cheap viagra</a>

nwtservenwtserve2018/11/14 05:50discount cialis <a href="http://cialisgessa.com/">cialis online</a> cialis pills <a href=http://cialisgessa.com/>cialis online</a>

fujepidafujepida2018/11/14 17:27cheap cialis <a href="http://joicialisosn.com/">cialis online</a> cialis tadalafil <a href=http://joicialisosn.com/>п»їcialis online</a>

nfhservenfhserve2018/11/18 02:01cialis coupon <a href="http://gocialisgjb.com/">cialis cheap</a> online cialis <a href=http://gocialisgjb.com/>cheap cialis</a>

nehthozynehthozy2018/11/18 02:23cialis online no prescription <a href="http://valcialisns.com/">buy cialis</a> cialis no prescription <a href=http://valcialisns.com/>cialis buy</a>