Can somebody explain this to me:
I read the time of the last modification of the file and write it to the DateTime Memory Tag.
But the value in the tag is wrong. It is two hours ahead… Why?
Can somebody explain this to me:
Try with Java’s File object and related infrastructure.
Thanks, @pturmel.
I ended up with this:
import os
import datetime
from java.io import File
from java.text import SimpleDateFormat
path = "c:\\temp\\test\\wrapper.log"
logfile = File(path)
t = logfile.lastModified()
print "t:",
sdf = SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
modified = sdf.format(t)
print "modified: ", modified
path = ["[realtimeBulky1]datetime"]
value = [modified]
system.tag.writeBlocking(path, value)
Now the tag value it’s OK.
But I still don’t understand why…?
It’s because fromtimestamp() returns None for the timezone in the datetime object.
You can also write the timestamp in millis directly to your tag.
import os
path = 'C:/path/to/file'
# Get modified time of the file in milliseconds
t = long(os.path.getmtime(path)) * 1000
tagPath = ['[default]Test/datetime']
value = [t]
system.tag.writeBlocking(tagPath, value)
Very good, @JordanCClark.
I ended up with your ‘solution’…