Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20161226 日付のあれこれ
Search
Kei Ito
December 26, 2016
Programming
0
1.2k
20161226 日付のあれこれ
関モバ #21の資料です
Kei Ito
December 26, 2016
Tweet
Share
More Decks by Kei Ito
See All by Kei Ito
20211015 Mac CatalystでmacOS用アプリを作る
itok
2
4.3k
20210219 Flutterに入門してみた
itok
1
3.9k
20201009 iOS 14 ウィジェットをつくってみた
itok
1
2.4k
20191206 Property Wrappers 入門
itok
0
1.6k
20190920 iOS 13 対応ではまった話
itok
1
2.3k
20190726 Background App Refresh Taskがやってきた
itok
0
2.1k
20190722 Firebase Remote Configでアドネットワークを管理する
itok
0
1.5k
20190419 iOSアプリで証明書の情報を参照する
itok
0
1.4k
20190412 Android TV向けアプリを作ってみる
itok
0
1k
Other Decks in Programming
See All in Programming
testingを眺める
matumoto
1
140
Swift Updates - Learn Languages 2025
koher
2
510
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
110
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
570
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
870
Deep Dive into Kotlin Flow
jmatsu
1
370
Platformに“ちょうどいい”責務ってどこ? 関心の熱さにあわせて考える、責務分担のプラクティス
estie
1
140
Testing Trophyは叫ばない
toms74209200
0
890
個人軟體時代
ethanhuang13
0
330
速いWebフレームワークを作る
yusukebe
5
1.7k
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
130
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
696
190k
A Tale of Four Properties
chriscoyier
160
23k
Documentation Writing (for coders)
carmenintech
74
5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
A designer walks into a library…
pauljervisheath
207
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
It's Worth the Effort
3n
187
28k
Transcript
ͷ͋Ε͜Ε ؔϞόΠϧΞϓϦݚڀձ !JUPL@UXJU
!JUPL@UXJU w ͍ͱ͏͚͍ʢJUPLʣ w ɹɹɹɹɹɹͷதͷਓ w ެࢲڞʹϓϩάϥϚJ04.BDʢͨ·ʹ"OESPJE8JOEPXTʣ w IUUQJUPLKQ IUUQTPSBLB[FDPKQ
,PUMJO͡Ί·ͨ͠
ͷ͋Ε͜Ε J04NBD04UW04ڞ௨
ओͳΫϥεͨͪ w %BUF'PSNBUUFS w *40%BUF'PSNBUUFS w %BUF*OUFSWBM'PSNBUUFS w %BUF$PNQPOFOUT'PSNBUUFS w
$BMFOEBS w %BUF$PNQPOFOUT w %BUF*OUFSWBM
%BUF'PSNBUUFS *40%BUF'PSNBUUFS %BUF'PSNBUUFS %BUF*OUFSWBM'PSNBUUFS %BUF$PNQPOFOUT'PSNBUUFS 'PSNBUUFS
let formatter = DateFormatter() formatter.locale = Locale(identifier: "ja_JP") formatter.setLocalizedDateFormatFromTemplate("yMMMMd") formatter.string(from:
date) // 201612݄26 let formatter = DateFormatter() formatter.locale = Locale(identifier: “fr_FR") formatter.setLocalizedDateFormatFromTemplate("yMMMMd") formatter.string(from: date) // 26 décembre 2016 let formatter = DateFormatter() formatter.locale = Locale(identifier: "ja_JP") formatter.calendar = Calendar(identifier: .japanese) formatter.setLocalizedDateFormatFromTemplate("GyMd") formatter.string(from: date) // ฏ2812݄26 %BUF'PSNBUUFS
let formatter = ISO8601DateFormatter() formatter.string(from: date) // 2016-12-26T04:23:50Z formatter.formatOptions =
[.withFullDate, .withFullTime, .withSpaceBetweenDateAndTime] formatter.string(from: date) // 2016-12-26 04:23:50Z *40%BUF'PSNBUUFS
let formatter = DateIntervalFormatter() formatter.string(from: now, to: future) // 2016/12/26
19࣌00ʙ21࣌00 formatter.dateTemplate = "Hm" formatter.string(from: now, to: future) // 19࣌00ʙ21࣌00 %BUF*OUFSWBM'PSNBUUFS
%BUF$PNQPOFOUT'PSNBUUFS let formatter = DateComponentsFormatter() formatter.string(from: now, to: future) //
1 5:27:50 formatter.allowedUnits = [.hour, .minute] formatter.string(from: now, to: future) // 29:27 comp.includesApproximationPhrase = true comp.string(from: now, to: future) // About 29:27
$BMFOEBS // ࠓʁ calendar.isDateInToday(date) // ಉ͡ʁ calendar.isDate(date, inSameDayAs: future) //
ͦͷͷ಄ calendar.startOfDay(for: date)
let interval = DateInterval(start: date, end: future) intervalFormatter.string(from: interval) //
2016/12/26 19࣌00ʙ21࣌00 ॏͳ͍ͬͯΔ͔ interval.intersects(interval2) // ॏͳΓ෦Λநग़ interval.intersection(with: interval2) %BUF*OUFSWBM
·ͱΊ w ॲཧ݁ߏେม w J04͘Β͍͔Β͍ͣͿΜͱָʹͳͬͨ w ৽͍͠ΫϥεͱϝιουΛศརʹ͍ͬͯ͜͏ʂ