Ectoで取得したデータベースから現在の時刻までの時間(UTC)の差を求める必要があります。私が知る限り、Elixirで動作するタイミングは、Timexなどのサードパーティライブラリを使用しなければ簡単なことではありません。しかし、私は第三者の依存関係の使用を避けたいと考えています。だから、私はどのように時差を見つけることができますか?私はDateTime.utc_now()
で現在の時刻を取得することができますが、それでは、Ecto.DateTime
形式のデータベースから日時を引く方法は、次に何ですか?エリクシルのdatetimeの使用
1
A
答えて
4
私はEctoが現時点でネイティブのElixir Datetimeフォーマットを使用する予定があると思います。私はあなたの痛みを知っています。 Erlangのカレンダーライブラリを使用していることを比較し、その後
{{YYYY, MM, DD}, {HH, MM, SS}}
そして:
一つの解決策は、Erlangの日時形式にエクト日時を変換することです。例えば、我々はPost
モデルを持っていたし、我々はそれが更新されましたどのくらい前に知りたいと思ったと言う:それでは、この記事は、およそ1ヶ月前に作成されたとしましょう
Repo.Post.get!(%Post{}, 1).created_at
|> Ecto.DateTime.to_erl
|> :calendar.time_difference(:calendar.universal_time)
を(2016-10-25T10:24:23) 。
返す上記の関数を通してそれを実行:
{30, {17, 30, 53}}
前30日間、17時間、30分53秒を意味。
タプルを破棄して、必要なコンポーネント(あなたの場合は分)だけを簡単に取り出すことができます。
など。
{_, {_h, minutes, _s}} = time_diff
関連する問題
- 1. エリクシルのキャプチャグループの使用
- 2. エリクシルの慣用型変換
- 3. エリクシルのバックグラウンドプロセス
- 4. エリクシルのカスタムタイプ
- 5. エリクシルのURLエンコーディングリスト
- 6. Railsでのdatetimeの使用
- 7. エリクシルのis_moduleガード句
- 8. エリクシルのパターンマッチリターン値マップ
- 9. エリクシルの場合にdo/elseキーワードを使用する理由
- 10. エリクシルのCSVストリームへのストリーム
- 11. 「%w(foo、bar)」はエリクシルの
- 12. Web Api 2のカスタムDateTimeバインダーの使用
- 13. エリクシル繰り返し
- 14. エリクシル+フェニックスチャネルメモリ消費量
- 15. SharePointでdatetimeを使用
- 16. MagentoフォーマットのDateTime設定オプションを使用
- 17. datetimeのレールでaccepts_nested_attributes_forを使用する
- 18. カスタムDateTime形式の使用方法
- 19. エリクシルでの俳優継承のシミュレーション
- 20. エリクシルのブラウザPOSTコマンドのS3署名
- 21. エリクシルの2次元リストの置換
- 22. エリクシルの値を返しますか?
- 23. PowerShellで特定のUTC DateTimeを使用してDateTimeオブジェクトを作成する
- 24. Django Datefield DateTimeフィールドを使用したフィルタ
- 25. 書式JodaTime DateTime優先DateFormatを使用
- 26. whereclauseでDateTimeを使用するmysql
- 27. OxyplotヒートマップにDateTime軸を使用する
- 28. DateTimeを使用したParamaterized SQL C#
- 29. datpoints asp.netチャートコントロールでdatetime x軸を使用
- 30. DBクエリ用のDateTime変換