mk_time 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -4
- data/exe/mk_time +3 -3
- data/lib/mk_time/argument.rb +7 -3
- data/lib/mk_time/compute.rb +2 -1
- data/lib/mk_time/consts.rb +1 -1
- data/lib/mk_time/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e53dc8d60c6fbf93a1a9f620efe200cae2166235
|
4
|
+
data.tar.gz: d45dd8be20c82a1ba37d18bc8747a425ce6cb3ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2c5cc3dfd3b9c87ae6b4ef10ed48cd2a48ec631e4ecf1fd3ba06ce959b7acad9baabf54e0b3e2040c8e77bb752705f80d9b8d706d3380913a7f5ee2bf3525b1
|
7
|
+
data.tar.gz: 33ed2330807a2d4151cc2206a722c1a5823bd62be1322cf0aed7f9625e99f99c167b623822d737ac4c60030c8e8f616573f96c7d50444253e64a9b36565823ec
|
data/README.md
CHANGED
@@ -26,15 +26,16 @@ Or install it yourself as:
|
|
26
26
|
|
27
27
|
t = MkTime.new("20160726")
|
28
28
|
t = MkTime.new("20160726123456")
|
29
|
-
|
29
|
+
t = MkTime.new("20160726123456123")
|
30
|
+
t = MkTime.new
|
30
31
|
|
31
|
-
* You can set TDB formatted "YYYYMMDD" or "YYYYMMDDHHMMSS" as an argument.
|
32
|
+
* You can set TDB formatted "YYYYMMDD" or "YYYYMMDDHHMMSS" or "YYYYMMDDHHMMSSU..." as an argument. (`U`: milliseconds)
|
32
33
|
* If you don't set an argument, this class considers the system time to have been set as an argument.
|
33
34
|
|
34
35
|
### Conversion
|
35
36
|
|
36
|
-
puts " UTC: #{t.utc}"
|
37
|
-
puts " JST: #{t.jst}"
|
37
|
+
puts " UTC: #{t.utc.instance_eval { '%s.%03d' % [strftime('%Y-%m-%d %H:%M:%S'), (usec / 1000.0).round] }}"
|
38
|
+
puts " JST: #{t.jst.instance_eval { '%s.%03d' % [strftime('%Y-%m-%d %H:%M:%S'), (usec / 1000.0).round] }}"
|
38
39
|
puts " JD: #{t.jd} day"
|
39
40
|
puts " T: #{t.t} century"
|
40
41
|
puts " UTC-TAI: #{t.utc_tai} sec"
|
data/exe/mk_time
CHANGED
@@ -3,12 +3,12 @@
|
|
3
3
|
require "mk_time"
|
4
4
|
|
5
5
|
t = MkTime.new(ARGV[0])
|
6
|
-
puts " UTC: #{t.utc}"
|
7
|
-
puts " JST: #{t.jst}"
|
6
|
+
puts " UTC: #{t.utc.instance_eval { '%s.%03d' % [strftime('%Y-%m-%d %H:%M:%S'), (usec / 1000.0).round] }}"
|
7
|
+
puts " JST: #{t.jst.instance_eval { '%s.%03d' % [strftime('%Y-%m-%d %H:%M:%S'), (usec / 1000.0).round] }}"
|
8
8
|
puts " JD: #{t.jd} day"
|
9
9
|
puts " T: #{t.t} century"
|
10
10
|
puts " UTC-TAI: #{t.utc_tai} sec"
|
11
|
-
puts "LEAP_SEC: #{t.leap_sec} sec" # =
|
11
|
+
puts "LEAP_SEC: #{t.leap_sec} sec" # = utc_tai
|
12
12
|
puts " DUT1: #{t.dut1} sec"
|
13
13
|
puts " deltaT: #{t.dt} sec"
|
14
14
|
puts " TAI: #{t.tai.instance_eval { '%s.%03d' % [strftime('%Y-%m-%d %H:%M:%S'), (usec / 1000.0).round] }}"
|
data/lib/mk_time/argument.rb
CHANGED
@@ -13,12 +13,16 @@ module MkTime
|
|
13
13
|
# @return: utc (Time Object)
|
14
14
|
#=========================================================================
|
15
15
|
def get_utc
|
16
|
-
(puts Const::MSG_ERR_1; return) unless @arg =~ /^\d{8}$|^\d{14}$/
|
16
|
+
(puts Const::MSG_ERR_1; return) unless @arg =~ /^\d{8}$|^\d{14,}$/
|
17
17
|
year, month, day = @arg[ 0, 4].to_i, @arg[ 4, 2].to_i, @arg[ 6, 2].to_i
|
18
18
|
hour, min, sec = @arg[ 8, 2].to_i, @arg[10, 2].to_i, @arg[12, 2].to_i
|
19
|
+
usec = @arg.split(//).size > 14 ? @arg[14..-1].to_i : 0
|
19
20
|
(puts Const::MSG_ERR_2; return) unless Date.valid_date?(year, month, day)
|
20
|
-
(puts Const::MSG_ERR_2; return) if hour > 23 || min > 59 || sec
|
21
|
-
|
21
|
+
(puts Const::MSG_ERR_2; return) if hour > 23 || min > 59 || sec >= 60.0
|
22
|
+
d = usec.to_s.split(//).size
|
23
|
+
return Time.new(
|
24
|
+
year, month, day, hour, min, sec + Rational(usec, 10 ** d), "+00:00"
|
25
|
+
)
|
22
26
|
end
|
23
27
|
end
|
24
28
|
end
|
data/lib/mk_time/compute.rb
CHANGED
@@ -12,9 +12,10 @@ module MkTime
|
|
12
12
|
#=========================================================================
|
13
13
|
def utc2jst(utc)
|
14
14
|
jst = utc + Const::JST_OFFSET * 60 * 60
|
15
|
+
d = jst.usec.to_s.split(//).size
|
15
16
|
return Time.new(
|
16
17
|
jst.year, jst.month, jst.day,
|
17
|
-
jst.hour, jst.min, jst.sec,
|
18
|
+
jst.hour, jst.min, jst.sec + Rational(jst.usec, 10 ** d),
|
18
19
|
sprintf("+%02d:00", Const::JST_OFFSET)
|
19
20
|
)
|
20
21
|
rescue => e
|
data/lib/mk_time/consts.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module MkTime
|
2
2
|
module Const
|
3
|
-
MSG_ERR_1 = "[ERROR] Format: YYYYMMDD or YYYYMMDDHHMMSS"
|
3
|
+
MSG_ERR_1 = "[ERROR] Format: YYYYMMDD or YYYYMMDDHHMMSS or YYYYMMDDHHMMSSU..."
|
4
4
|
MSG_ERR_2 = "[ERROR] Invalid date-time!"
|
5
5
|
JST_OFFSET = 9 # JST offset from UTC
|
6
6
|
J2000 = 2451545 # Julian Day of 2000-01-01 12:00:00
|
data/lib/mk_time/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mk_time
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- komasaru
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|