2017-01-30 7 views
0

データが24時間以上経過したときに私のUITableViewからいくつかのデータを削除したいと思います。私は日付をStringとして保存しました。日付を確認したいのですが、Stringなので、データが最後に入力されてから何時間経過したかを確認するには、そのデータをIntの値にするにはどうすればいいですか?それが起こるための良いコードはありますか?この日付データはFirebaseに保存されます。Swift3のDateFormatter()からIntを取得する方法

let currentDateTime = Date() 
let formatter = DateFormatter() 
formatter.timeStyle = .medium 
formatter.dateStyle = .long 
let date = formatter.string(from: currentDateTime) 
+0

は '(NS)Date'として日付を保存することを検討してください。これにより、日付の計算がはるかに簡単になります。 – vadian

答えて

1

あなたが必要:

  1. あなたの日付
  2. は "今"

を持つ新しい日付は、私はあなたには、いくつかを持っていると仮定していますことを比較、その日に24時間を追加します。既に日付:

let myDate: Date = ... 

のが24時間を追加してみましょう:24時間はすでに私の日付以降

let endDate: Date = Calendar.current.date(byAdding: .hour, value: 24, to: myDate, wrappingComponents: true)! 

に合格しましたか?

let now = Date() 
let expired = (endDate < now) 

私はこの作業に日付フォーマッタを使用する理由がわかりません。

0

はこれを試してみてください:

let currentDateTime = Date() 
let formatter = DateFormatter() 
formatter.dateFormat = "hh" 
let date = formatter.string(from: currentDateTime) 
print(date)// Time in string 
print(Int(date)!) // Time in Int 
関連する問題