2

There is a closed question which is similar to or identical to this question: Getting date modified for a feature class within a file geodatabase via arcpy

Looking at a file geodatabase featureclass in ArcCatalog, there is a Modified attribute showing the date that the featureclass was last changed:

enter image description here

This is not the same as the Modified date for its parent file geodatabase (which means that I can't obtain the featureclass 'modified' value via the operating system):

enter image description here

I'm limited to using the older ArcMap/ArcCatalog version of ArcPy, and I can't see where to find the 'modified on' date in the documentation, eg http://desktop.arcgis.com/en/arcmap/latest/analyze/arcpy-functions/featureclass-properties.htm

How can I access the Modified date via ArcPy?

Stephen Lead
  • 21,119
  • 17
  • 113
  • 240

1 Answers1

2

This is not possible with ArcPy. To access this property, you need to use ArcObjects. You can do this from python via comtypes.

The following example is from mbabinski1988 on Geonet

First set up comtypes and snippets.py:

Then the following function can be used to return modified time:

def GetModifiedDate(gdb, tableName):    
    #  https://community.esri.com/thread/74409#comment-453427

    # Setup      
    GetStandaloneModules()      
    InitStandalone()      
    import comtypes.gen.esriSystem as esriSystem      
    import comtypes.gen.esriGeoDatabase as esriGeoDatabase      
    import comtypes.gen.esriDataSourcesGDB as esriDataSourcesGDB      

    # Open the FGDB      
    pWS = Standalone_OpenFileGDB(gdb)    

    # Create empty Properties Set      
    pPropSet = NewObj(esriSystem.PropertySet, esriSystem.IPropertySet)      
    pPropSet.SetProperty("database", gdb)      

    # Cast the FGDB as IFeatureWorkspace      
    pFW = CType(pWS, esriGeoDatabase.IFeatureWorkspace)      

    # Open the table      
    pTab = pFW.OpenTable(tableName)      

    # Cast the table as a IDatasetFileStat      
    pDFS = CType(pTab, esriGeoDatabase.IDatasetFileStat)      

    # Get the date modified      
    return pDFS.StatTime(2)  
Hornbydd
  • 43,380
  • 5
  • 41
  • 81
user2856
  • 65,736
  • 6
  • 115
  • 196
  • Does another version of snippets.py exist for 10.3 and beyond? – Nick Aug 04 '20 at 03:53
  • @Nick Nope. For 10.3 I just changed line 20 from keyESRI = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\ESRI\\Desktop10.2") to keyESRI = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\ESRI\\Desktop10.3"). Should work for >10.3 as well, just change to the appropriate version. – user2856 Aug 04 '20 at 05:44
  • Thanks, I tried the same (I think there may have been one additional instance in snippets.py I changed as well) but still got some errors ... I think something is wrong with how my registry because I also had to change HKEY_LOCAL_MACHINE to HKEY_USER_CURRENT – Nick Aug 04 '20 at 07:16