0

os.date()この関数呼び出しを使用して、MySQLテーブルに文字列変数を挿入しています。

tSend["sDate"] = os.date( "%Y-%m-%d %X", Core.GetUserValue(v, 25) )

テーブルtSendは、テーブルに挿入する別の関数に転送されます。

これは必要に応じて機能しません。たとえば。2013-01-3100:59:59の代わりに2013-01-3112 :59:59をテーブルに挿入します。それは1159時間後のすべての時間に起こります。

Lua PiLの本によると、

%X時間を意味します(例、23:48:10)

によって生成された時間はPtokaXのプロパティであり、1.1.1970からの秒単位のユーザーログイン時間NOW()として指定されているため、クエリで使用できません。Core.GetUserValue(v, 25)

ここで何が問題になる可能性がありますか?シンプルなluaコード

print( os.date("%Y-%m-%d %X", 1355586777) )

2012-12-15 21:22:57を出力として生成します(ここで、1355586777Core.GetUserValue呼び出しから受け取った値です)。

以前は持ってい%H:%M:%Sたのです%Xが、使うことを考えた%Xので、元に戻さないといけないようです。

4

1 に答える 1

1

振る舞いに誤りがあったと思います。

PtokaXがCで書かれていて、luaスクリプトが呼び出されているからかもしれません。以来、strftimeは次のように定義%Xします

ローカライズされた時間表現を書き込みます(ロケールに依存)

これにより、時間出力は24時間ではなく12時間形式になります。今日の午後12時以降もテストする必要があります。

PS

日付形式を確認する方法はわかりませんがlocale、これがこの動作の唯一の有効な原因であると思います。


os.date( "%Y-%m-%d %X" )スクリプトでの使用に切り替えました。

于 2013-01-30T23:30:52.253 に答える