

18:05, EEST

August 20, 2014

Hi,
i was doing some tests with an OPC UA Server and variables. I tried to set a DateTime variable, but i’m not able to do it. I want to initialize the variable with e.g. the date: Wednesday, 12. July 2017 09:37:27.995, which is in ms: 1499852247995.
This is the code to initialize the variable:
CacheVariable dateTime = new CacheVariable(this, new NodeId(2, “DateTimeId”),”DateTime”, LocalizedText.NO_LOCALE);
dateTime.setDataType(getServer().getNodeManagerRoot().getType(Identifiers.DateTime));
long date = 1499852247995L;
dateTime.setValue(new DataValue(new Variant(new DateTime(date))));
methodsFolder.addComponent(dateTime);
if i start the server and take a look at this variabel i see the follwoing date:
2000-01-01T00:00:00.000Z
what is wrong with my code?
Thanks.
Ibrahim
18:40, EEST

December 21, 2011

The constructor is not expecting milliseconds.
* Constructs a new DateTime value, initializing it with an OPC UA time value with a resolution of 100 nanoseconds.
*/
public DateTime(long value);
Instead, you should use ‘DateTime dt = DateTime.fromMillis(date);’, if you want to initialise it from milliseconds.
1 Guest(s)
