リモートサーバーと対話しています。このリモートサーバーは異なるタイムゾーンにあります。 erlang:now()
の1970年1月1日からの秒数00:00:00 GMT Erlang
"The number of seconds since January 1, 1970 00:00:00 GMT The server will only accept requests where the timestamp is within 600s of the current time"
ドキュメント:認証の一部を生成するために私を必要とします。それが私にthe elapsed time since 00:00 GMT, January 1, 1970 (zero hour) on the assumption that the underlying OS supports this
を得ることができることを明らかにする。これはsize=3
タプル{MegaSecs, Secs, MicroSecs}
を返します。 element(2,erlang:now())
を使用してみましたが、リモートサーバーから次のメッセージが送られてきました。
Timestamp expired: Given timestamp (1970-01-07T14:44:42Z) not within 600s of server time (2012-01-26T09:51:26Z)1970年1月1日以降の必須の秒数はどれですか?私は何を正しくしていないのですか?私はアップデートとして
universal time
calendar:universal_time() ?
のようにUPDATE
としなければならないものがある、私はこれを使用することにより、時間期限切れの問題をオフにする管理:
seconds_1970()-> T1 = {{1970,1,1},{0,0,0}}, T2 = calendar:universal_time(), {Days,{HH,Mins,Secs}} = calendar:time_difference(T1,T2), (Days * 24 * 60 * 60) + (HH * 60 * 60) + (Mins * 60) + Secs.しかし、疑問が残ります。これを得るための方法、アーランの基本的な方法、おそらくBIF、そうでしょうか?
ありがとうございました –
今では、呼び出しがまったく同じ時間であっても、now()は異なるスレッドで異なる結果をもたらすことが保証されています。 –
私はこの回答を今日有効に編集しました。 – Tommy