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