10 votos

Calcular el Campo de Fecha de hoy fecha de datetime.fecha.hoy

Estoy trabajando en la parte de la herramienta que se utilice arcpy.CalculateField_management para añadir la fecha actual para el atributo de la tabla. He vagado a lo largo y ancho de la interwebs y parece que no puede encontrar la solución a este problema.

Cuando se utiliza este código, obtengo el valor "12:00:00 AM"

    input = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013'
    today = datetime.date.today()
    dte = today.strftime('%m/%d/%Y')
    arcpy.CalculateField_management(input,"DTCARXTRCT",dte,"PYTHON")

Cuando se utiliza este código, puedo obtener el valor de "06/19/1905" a partir de la fecha de hoy de "10/07/2014"

    input = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013'
    today = datetime.date.today()
    dte = str(today)
    arcpy.CalculateField_management(input,"DTCARXTRCT",dte,"PYTHON")

Alguna idea sobre lo que estoy haciendo mal? Me gustaría evitar el uso de la actualización del cursor, pero lo hará si es la última opción.

11voto

steveax Puntos 316

¿Por qué quieres evitar el uso de una actualización del Cursor? Que la voluntad de realizar la calculadora de campo 100% del tiempo. Usted necesita para escribir esto como una expresión:

import arcpy, datetime

fc = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013'
field = "DTCARXTRCT"
exp = '''def add_date():
  import time
  return time.strftime("%Y/%m/%d")'''

arcpy.CalculateField_management(fc, field, 'add_date()',
                                'PYTHON', exp)
print 'done'

EDIT: datetime.fecha.hoy() no funciona en la calculadora de campo, se pasó a strftime.

O, si quieres hacerlo de la mejor manera en que usted puede alimentar a su propio variables, el uso de un cursor:

import arcpy, datetime

fc = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013'
field = "DTCARXTRCT"
with arcpy.da.UpdateCursor(fc, [field]) as rows:
    for row in rows:
        rows.updateRow([datetime.date.today()])
print 'done'

1voto

Pascal T. Puntos 1376

Trate de usar:

time.strftime("%Y/%m/%d")

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X