ArcPyを使用して、ArcGIS日付値をmm / dd / yyyy形式の文字列読み取りに変換しますか?


8

ArcGIS 10.0でarcpyツールスクリプトを作成しています。fGDBフィーチャクラスには、日付タイプフィールドがあります。[日付]フィールドの値は長整数の日付として保存されていますが、テーブルではmm / dd / yyy形式で表示されます。私がやりたいのは、整数の日付値をmm / dd / yyyy形式で日付を示す文字列としてキャプチャすることです。これについてどうすればよいですか?

日付/時刻文字列を日付オブジェクト/値に変換する方法の例はたくさんありますが、その逆はありません。日付フィールドを含む多くのフィールドを持つフィーチャクラスのフィーチャを、フィールドが少ない標準スキーマfc(変更できない)に追加しています。多くの技術属性を入力に保存するには、ターゲットで定義されているユーザー制御のキャッチオールテキストフィールドにすべてをダンプする必要があります。入力からの日付データは、保存する必要のあるデータの1つであるため、日付を文字列に変換する必要があります。

私が見逃しているかなり簡単な解決策がある可能性がありますが、現在、私は途方に暮れています。私の道に来るどんな助けにも感謝します。


数か月が経ちましたが、問題は解決しましたか?
RK

1
@RK-興味を持った人がこの問題にぶら下がっていてごめんなさい。道に迷った。とにかく、はい、以下のblah238の答えはうまくいきました。私が取り組んでいた特定のスクリプトは、その後、日付変換の必要性を排除する方法で変更されましたが、他のスクリプトで以来、このソリューションを複数回使用しています。RKさん、ありがとうございました。助けてくれてblah238に感謝します。
celticflute 2013年

回答:


19

GPカーソルは日付値をdatetimeオブジェクトとして読み取るため、を使用datetime.strftime()して好きなようdatetime.ctime()にフォーマットしたり、デフォルトのフォーマット(%a %b %d %H:%M:%S %Y)としてフォーマットしたりできます。

使用例はmm/dd/yyyy次のとおりです。

import arcpy
from datetime import datetime
fc = r"C:\GISData\test.gdb\atlantic_hurricanes_2000"
rows = arcpy.SearchCursor(fc)
for row in rows:
    datetimeVal = row.getValue("Date_Time")
    formattedTime = datetime.strftime(datetimeVal, "%m/%d/%Y")
    print formattedTime

さまざまな時刻フォーマットコードの意味については、「strftimeの動作」を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.