タグ

qiitaとtimeに関するnabinnoのブックマーク (8)

  • Goで一定周期で何かを行う方法 - Qiita

    Goでは言語組み込みの並行処理のサポートがあるから、一定の周期で何らかの処理を行うのは簡単だ。その処理のためのgoroutineを作って、それを一定の間隔で目覚させて実際の処理を行わせるようにすれば良い。 Sleep 一番簡単な方法は無限ループを回して、ループの最後にtime.Sleepで一定時間休むという方法だろう。 go func() { for { // ここでなにかを行う time.Sleep(3 * time.Second) // 3秒休む } }() この方法は手っ取り早いけど、Sleepを途中で中断することはできない。たとえばこのgoroutineがいらなくなったときにそれをチャネルで通知してgoroutineを終了させるとか、あるいは早めに目覚めさせてループの先頭に復帰させるとか、そういったことはSleepが返ってくるまで行うことができない。 Ticker 「多重化できない

    Goで一定周期で何かを行う方法 - Qiita
  • Erlangのtimerモジュールを利用する際の注意点 - Qiita

    timerモジュールは、一定時間後に指定した関数を呼び出したりメッセージを送ったりできる便利なモジュールです。 timerモジュールは便利ですが、いくつか落とし穴もあります。 このモジュールを利用するにあたって注意する点について書いていきます。 timerモジュールは遅い というのも、タイマーの処理は1プロセスで全て行っているからです。 そして、timer:send_after/{2,3} や timer:cancel/1 は、gen_server:call/3 を使ってそのプロセスの処理が完了するのを待っています。 例えば timer:send_after/3 は以下のようなコードになっています。 このように gen_server:call(timer_server, ..., infinity) という書き方をしているため、複数のプロセスから大量に timer:send_after/{

    Erlangのtimerモジュールを利用する際の注意点 - Qiita
  • Timex利用コードをコマンド化すると実行時エラーが出る - Qiita

    (この記事は Elixir (その2)とPhoenix Advent Calendar 2016 22日目の記事です) 今回は、Timexを使うコードを、escriptでコマンド化した際、実行時エラーが出るのを回避する方法を解説 escriptでのコマンド化についても、軽く解説します 【2021/7/30追記】 この方法、下記最新ElixirおよびOTPバージョンでは使えないことを確認しました escriptで日時周りを使いたい場合は、Timexの代わりにElixir標準モジュールのDateTimeやCalendar等をご利用ください Erlang/OTP 24 [erts-12.0.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] Elixir 1.12.0 (compiled with Erlang/O

    Timex利用コードをコマンド化すると実行時エラーが出る - Qiita
  • Elixir 1.3から入る時間に関するsigil - Qiita

    ブログから転載 Elixir 1.3(正確には1.3.0-rc.0)から時間に関する構造体がいくつか定義されました。そのうちの3つ、Date, Time, NaiveDateTimeをつくるsigilが追加されています。それぞれ~D, ~T, ~Nです。 iexで~D(2016-06-04)と打っても、そのまま表示されてしまい何が作られているのかよくわからないので、|> inspect(structs: false)としています iex> ~D(2016-06-04) |> inspect(structs: false) "%{__struct__: Date, calendar: Calendar.ISO, day: 4, month: 6, year: 2016}" iex> ~T(22:05:33) |> inspect(structs: false) "%{__struct__:

    Elixir 1.3から入る時間に関するsigil - Qiita
  • PowershellでUnix時刻とDateTimeの相互変換 - Qiita

    ぐぐってみて案外日語の情報がないので、自分の防備録のためにもQiita投稿しておきます。 1970年1月1日 0時0分0秒のEpoch時刻から引き算足し算すればいいだけってのだけ理解してれば簡単に作れます。 Powershellの関数であれば、ログ解析なんかにも組み込めると思うのでどうぞご利用ください。 function Convert-UnixTimeToDateTime($unixTime){ $origin = New-Object -Type DateTime -ArgumentList 1970, 1, 1, 0, 0, 0, 0 $origin.AddSeconds($unixTime) } function Convert-DateTimeToUnixTime($dateTime){ $origin = New-Object -Type DateTime -Argument

    PowershellでUnix時刻とDateTimeの相互変換 - Qiita
  • Timexのよくある罠 - Qiita

    はじめに この記事はElixir Advent Calendar 2015の23日目の記事です。 Timexとは Elixirで時間や日付を扱う場合、よく使われるのがTimexです。それなりのサービスやアプリを作る際には、大抵時間や日付の処理が必要になってきますので、利用頻度の高いライブラリだと思います。 Timexを使ってみてヒヤリ・ハットな挙動がいくつかあったので、その紹介をします。 ケース1: タイムゾーンの取得 Timexでタイムゾーンの情報を取得するにはDate.localを使います。 iex(1)> use Timex nil iex(2)> Date.local %Timex.DateTime{calendar: :gregorian, day: 23, hour: 20, minute: 45, month: 12, ms: 755, second: 49, timezon

    Timexのよくある罠 - Qiita
  • 日本語表記の日時をTimeオブジェクトに変換(Time.strptimeメソッド) - Qiita

    残念ながら(require 'time'してから)Time.parseしても日語表記の日時は理解してくれません。西洋圏の表記はかなり理解してくれるんですけどねぇ。 のでTime.strptimeを使います。 なお、DateTime.strptimeおよびDate.strptimeでも使用するフォーマットは全く同じです。 例 Time.strptime("2014年 6月 3日 19:20", "%Y年 %m月 %d日 %H:%M") => 2014-06-03 19:20:00 +0900 Time.strptime("2014年 6月23日 19:20","%Y年 %m月 %d日 %H:%M") => 2014-06-23 19:20:00 +0900 パースしたい文字列とフォーマット文字列を引数に与えるとTimeオブジェクトに変換してくれます。 さて。ここでは" 6月 3日"という空

    日本語表記の日時をTimeオブジェクトに変換(Time.strptimeメソッド) - Qiita
  • RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita

    RubyRailsにおけるTime, Date, DateTime, TimeWithZoneの違いRubyRails 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているため、 Timeを使うことを推奨します。 https://docs.ruby-lang.org/ja/latest/class/DateT

    RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita
  • 1