In general, there is no easy way to compute 3D printing time from those quantities. Unless you have a printer with extreme kinematic capabilities (and to some extent even then), print speed is highly limited by acceleration and deceleration for toolpaths that are deeply a function of the specific geometry of the model to be printed. This makes it really hard to get a good estimate for time without actually slicing the model and simulating the printer's execution of the resulting gcode.
If the object is sufficiently simple, or if your print speed is so slow as to make acceleration to the max speed nearly instantaneous (but travel speed isn't so slow as to be a dominating factor), you may be able to use any one of the quantities you know to estimate print time half-decently.
Weight/mass: if you actually know the mass when 3D printed (with the wall/infill settings you'll be using) then mass divided by material density gives you material volume, and you can divide by the extrusion rate in mm³/s (computed from layer height, line width, and print speed) to convert volume to seconds.
Object dimensions: if it's roughly a cube or other geometric object you know surface area and volume formulae for, you can compute surface area, multiply by shell thickness, then add the infill percentage times the volume to get an estimate for printed material volume, and use the same above volume to time conversion.
If the conditions under which you might be able to get a reasonable estimate don't apply, your best bet is to actually slice the model and see what the slicer software estimates, or feed its output to a gcode analyzer/simulation software.