diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java index 64641585695..4aacff1aa18 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java @@ -1602,6 +1602,11 @@ public final class HConstants { "hbase.regionserver.slowlog.systable.enabled"; public static final boolean DEFAULT_SLOW_LOG_SYS_TABLE_ENABLED_KEY = false; + public static final String SHELL_TIMESTAMP_FORMAT_EPOCH_KEY = + "hbase.shell.timestamp.format.epoch"; + + public static final boolean DEFAULT_SHELL_TIMESTAMP_FORMAT_EPOCH = false; + /** * Number of rows in a batch operation above which a warning will be logged. */ diff --git a/hbase-shell/src/main/ruby/hbase/table.rb b/hbase-shell/src/main/ruby/hbase/table.rb index d55e516ba94..0cd917efcc1 100644 --- a/hbase-shell/src/main/ruby/hbase/table.rb +++ b/hbase-shell/src/main/ruby/hbase/table.rb @@ -119,6 +119,9 @@ EOF @name = @table.getName.getNameAsString @shell = shell @converters = {} + @timestamp_format_epoch = table.getConfiguration.getBoolean( + HConstants::SHELL_TIMESTAMP_FORMAT_EPOCH_KEY, + HConstants::DEFAULT_SHELL_TIMESTAMP_FORMAT_EPOCH) end def close @@ -751,8 +754,12 @@ EOF end def toLocalDateTime(millis) - instant = java.time.Instant.ofEpochMilli(millis) - return java.time.LocalDateTime.ofInstant(instant, java.time.ZoneId.systemDefault()).toString + if @timestamp_format_epoch + return millis + else + instant = java.time.Instant.ofEpochMilli(millis) + return java.time.LocalDateTime.ofInstant(instant, java.time.ZoneId.systemDefault()).toString + end end # Make a String of the passed kv