From 0d7d6a88080dc8759ef84ed5ad7875f25642df6c Mon Sep 17 00:00:00 2001
From: yantian yue <306727702@qq.com>
Date: 星期一, 23 十月 2023 10:59:18 +0800
Subject: [PATCH] OPCUA更新

---
 guns-base-support/guns-base/src/main/java/cn/stylefeng/guns/base/enums/MicroTimestamp.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/guns-base-support/guns-base/src/main/java/cn/stylefeng/guns/base/enums/MicroTimestamp.java b/guns-base-support/guns-base/src/main/java/cn/stylefeng/guns/base/enums/MicroTimestamp.java
new file mode 100644
index 0000000..f7a66ce
--- /dev/null
+++ b/guns-base-support/guns-base/src/main/java/cn/stylefeng/guns/base/enums/MicroTimestamp.java
@@ -0,0 +1,27 @@
+package cn.stylefeng.guns.base.enums;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * Class to generate timestamps with microsecond precision
+ * For example: MicroTimestamp.INSTANCE.get() = "2012-10-21 19:13:45.267128"
+ */
+public enum MicroTimestamp
+{
+    INSTANCE ;
+    private long startDate ;
+    private long startNanoseconds ;
+    private SimpleDateFormat dateFormat ;
+
+    private MicroTimestamp()
+    {  this.startDate = System.currentTimeMillis() ;
+        this.startNanoseconds = System.nanoTime() ;
+        this.dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") ;
+    }
+
+    public String get()
+    {  long microSeconds = (System.nanoTime() - this.startNanoseconds) / 1000 ;
+        long date = this.startDate + (microSeconds/1000) ;
+        return this.dateFormat.format(date) + String.format("%03d", microSeconds % 1000) ;
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3