def self.cimdatetime_to_ruby str
case str[21,1]
when '+', '-'
t = Time.new(str[0,4].to_i, str[4,2].to_i, str[6,2].to_i, str[8,2].to_i, str[10,2].to_i, str[12,2].to_i, str[22,3].to_i * ((str[21,1]=='+')?60:-60))
off = str[15,6].to_i / 1000
return t + off
when ':'
off = str[0,8].to_i * 24 * 60 * 60
off += str[8,2].to_i * 60 * 60 + str[10,2].to_i * 60 + str[12,2].to_i
off += str[15,6].to_i / 1000
return off
else
raise RCErrInvalidParameter.new(CMPI_RC_ERR_INVALID_PARAMETER, "Invalid CIM DateTime '#{str}'")
end
end