I think this was answered in a previous topic of yours. No, time is not unique. If the method gets called multiple times within the same clock tick interval, then the output would be the same. This is more likely to happen in a threaded environment but is also able to happen in a single thread if it is run fast enough.
Why are the clients creating an Object instance to access the static method? This is misleading and shouldn't be done. You should do classname.generateIdforDCR();. But your class name should be better (i.e. be descriptive, start with a capital letter).