# DateTime optionally containing microseconds

**URL:** <https://www.ruby-forum.com/t/datetime-optionally-containing-microseconds/197001>\
**Category:** Ruby\
**Created:** [September 30, 2009, 3:11pm UTC](https://www.ruby-forum.com/t/datetime-optionally-containing-microseconds/197001 "2009-09-30T15:11:55Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ambrice](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d9b06d/32.png) [@ambrice](https://www.ruby-forum.com/u/ambrice)\
**Post date:** [September 30, 2009, 3:11pm UTC](https://www.ruby-forum.com/t/datetime-optionally-containing-microseconds/197001/1 "2009-09-30T15:11:55Z")

</div>

Hi all,

I’m sending DateTimes over soap to JADE agent system.

If I send DateTime.now over it is accepted fine… and ends up as:

2009-09-30T09:20:52.959452-03:00

However, if I convert a Rails model field to datetime and send it over  
its of class DateTime but loses the microseconds. Which my SOAP  
server inconveniently requires to be present.

@seller.deadline.to\_datetime

ends up as:

2009-09-29T23:20:00-03:00

And is rejected.

I was able to get @seller.deadline.to\_datetime to be accepted by  
adding the microsecond portion of DateTime.now to it. But that seems  
like an awful hack.

How do I ensure a given DateTime such as the one extracted from a  
rails model is alays sent with the microsecond portion present over  
SOAP?

thanks,  
Aaron

```
    obj = EcommercePort.new
    obj.wiredump_dev = STDERR if $DEBUG

    time_periods = ArrayOfSellerTimePeriod.new
    #time_periods[0] = SellerTimePeriod.new

```

(@seller.deadline.to\_datetime, @seller.openingOffer, @seller.alpha,  
@seller.umin, @seller.deadline.to\_datetime)  
time\_periods[0] = SellerTimePeriod.new  
(@seller.deadline.to\_datetime + DateTime.now.sec\_fraction,  
@seller.openingOffer.to\_f, @seller.alpha, @seller.umin, DateTime.now)

```
    p time_periods[0]

    parameters = {
      :sellerID => @seller.sellerID,
      :maxPossPrice => @seller.openingOffer.to_f,
      :itemID => @seller.itemID,
      :deadline => DateTime.now,
      :timePeriods => time_periods
    }

    puts obj.clientGatewayCreateNewSeller(parameters)
```
