As a correction to my former idea, we'd actually want `.to_r.truncate(+6)` for microseconds.

But again, non-starter, since it's not available on Ruby 1.8.7.  

On Ruby 1.8.7, I think we can simply compare `to_f`. 

```ruby
[4] pry(main)> Time.at(1000, 123456.789).to_f
=> 1000.123456

[6] pry(main)> Time.at(1000, 123456.789).to_f == Time.at(1000, 123456.000).to_f
=> true

[7] pry(main)> Time.at(1000, 123456.789).to_f == Time.at(1000, 123457.000).to_f
=> false
```

However, the docs on Ruby 1.9.3 do say that `to_f` can't properly represent nanoseconds
http://ruby-doc.org/core-1.9.3/Time.html#method-i-to_f

```
The lowest digit of #to_f and nsec is different because IEEE 754 double is not accurate enough to represent nanoseconds from the Epoch. The accurate value is returned by nsec.
```

The bigger issue it seems, is that in Ruby 1.9.3, there are more significant digits with `to_f` which means it can't be used to compare

```ruby
[16] pry(main)> Time.at(1000, 123456.789).to_f
=> 1000.123456789
```

So scratch that... this leaves us with a combo of `tv_sec` and `tv_usec` which are available in all Ruby versions, and seem to properly compare.

From 1.8.7

```ruby
[10] pry(main)> t1 = Time.at(1000, 123456.000)
=> Wed Dec 31 16:16:40 -0800 1969

[11] pry(main)> t2 = Time.at(1000, 123456.789)
=> Wed Dec 31 16:16:40 -0800 1969

[12] pry(main)> t1 == t2
=> true

[13] pry(main)> p "t1: #{t1.tv_sec} . #{t1.tv_usec} / t2: #{t2.tv_sec} . #{t2.tv_usec}"
"t1: 1000 . 123456 / t2: 1000 . 123456"
=> nil

[14] pry(main)> t1.tv_sec == t2.tv_sec && t1.tv_usec == t2.tv_usec
=> true
```

Ruby 1.9.3

```ruby
[24] pry(main)> t1 = Time.at(1000, 123456.000)
=> 1969-12-31 16:16:40 -0800

[25] pry(main)> t2 = Time.at(1000, 123456.789)
=> 1969-12-31 16:16:40 -0800

[26] pry(main)> t1 == t2
=> true

[27] pry(main)> p "t1: #{t1.tv_sec} . #{t1.tv_usec} / t2: #{t2.tv_sec} . #{t2.tv_usec}"
=> "t1: 1000 . 123456 / t2: 1000 . 123456"

[28] pry(main)> t1.tv_sec == t2.tv_sec && t1.tv_usec == t2.tv_usec
=> true
```