私は、あるデータベースのテーブルのデータを他のDBの同じテーブルにコピーするperlスクリプトを作成しています。私はDBIとの接続を得るためにDBIを使用しています。 データをコピーしているときに、正しくコピーされていないことに気付きました。
日付がこのような場合のソーステーブル - '04/22/1996 13:51:15 PM '
宛先テーブルでは、' 22 APR 1996 'のように表示されます。 誰でも正確な日付のコピーを手伝ってもらえますか?事前タイムスタンプで日付を取得して挿入する
0
A
答えて
0
#!/usr/bin/env perl
use DateTime::Format::Strptime;
my $datetimestr = '04/22/1996 13:51:15 PM';
# 1) parse datetime
my $parser = DateTime::Format::Strptime->new(
pattern=>'%m/%d/%Y %H:%M:%S %p',
on_error => 'croak',
);
my $dt = $parser->parse_datetime($datetimestr,);
# 2) format datetime for your database format
warn $dt->strftime('%Y-%m-%d %H:%M:%S');
+0
日付の時間に関する1つのコメント、あなたがそれを束と呼ぶなら、それは比較的遅いです。スピードが問題であれば、特にタイムゾーンや曜日の情報が必要ない場合は、独自のパーサを書くことは価値がある可能性があります。 – kchinger
+0
DateTimeは本当に遅いですが、データベースで作業している場合はそれほど高価ではありません。あなたは特定のフォーマットのための高速パーサを書くことができますが、このコードを維持するのは難しいでしょう。 –
関連する問題
- 1. 日付とタイムスタンプを挿入するとエラーが発生する
- 2. タイムスタンプで今日の日付を取得する
- 3. 挿入/更新後にタイムスタンプを取得
- 4. ログスタッシュでタイムスタンプ、日付、時刻のフィールドを日付形式で取得する
- 5. タイムスタンプから日付を取得する:PHPで間違った日付
- 6. MySQLはタイムスタンプとして日付をn日前に取得します
- 7. 時刻と日付を取得してデータベースに挿入します
- 8. Androidは日付を取得してファイル名に挿入します
- 9. 特定のフォーマットの日付/タイムスタンプを取得する
- 10. Eloquent:タイムスタンプから日付のみを取得する
- 11. 日付のタイムスタンプを取得するには?
- 12. タイムスタンプからカスタム日付形式を取得する方法
- 13. jsのタイムスタンプ配列から日付を照合して取得する方法
- 14. PHPを使用してMySQLで日付を挿入して取得する適切な方法
- 15. 日付と時刻をOracle 10g sql plusのタイムスタンプに挿入します。
- 16. UTCで日付と時刻からタイムスタンプを取得
- 17. SQLに日付を挿入
- 18. 日付を日付9に挿入します。
- 19. Postgresの "タイムスタンプ"に日付(Y-m-d H:i:s)を挿入できません
- 20. vbaをmsアクセスで使用してデータベーステーブルの日付と日付の間に日付を挿入する方法
- 21. ウェブサイトから日付を取得してカレンダーに入れる
- 22. 日付範囲の日付を挿入するループを作成
- 23. SQLiteに日付を挿入する
- 24. MySQLに日付を挿入する
- 25. 日付をsqliteに挿入する
- 26. PostgreSQLに日付を挿入する:
- 27. oracleにシステム日付を挿入する
- 28. 日付ピッカーを挿入するyii2
- 29. Rクラスファクタの日付を挿入する
- 30. 日付を取得できませんunixタイムスタンプで動作するxAxis
タグで
おかげで、使用しているDBMS。 (多くのdbms製品は、日付/時刻に関してANSI SQLに準拠していません) – jarlh
04/22/1996は、基本的には異なる形式の22 APR 1996と同じ日付です。データベースシステムによって提供される適切な日付フォーマット関数を使用してください。 – syck
両方とも日付フィールドの列である場合、日付を提示する際の書式設定の問題のように聞こえます.2つのシステムでは、デフォルトでは同じ形式ではありません。 –