Global crude-oil prices fell to a three-week low Monday as traders looked past risks posed by the deteriorating situation in Ukraine to focus on weak economic data from major crude consumer China.

Light, sweet crude for June delivery fell 28 cents, or 0.3%, to settle at $99.48 a barrel on the New York Mercantile Exchange, for its third losing session out of the last four. Prices for the global Brent futures contract fell 87 cents, or 0.8%, to $107.72 a barrel, the lowest settlement since April 11, on the ICE Futures Europe exchange.

Fighting broke out Monday between Ukrainian government forces and about 800 heavily armed pro-Russian separatists in eastern Ukraine. The interior ministry said four soldiers were killed and 30 wounded, while a rebel spokesman said more than 20 separatist fighters died. The battle came after pro-Russian forces stormed a jail in the southwestern port city of Odessa on Sunday and forced the release of protesters arrested two days before at a demonstration that turned violent and led to 42 deaths.

While developments similar to these have moved crude markets in recent months, analysts and experts doubt the discord will lead to sanctions or disruptions that would remove crude supplies from global markets, and the market appeared to discount the developments Monday to focus on other bearish factors.

"It's just going on in the background," said Carl Larry, president of research firm Oil Outlooks & Opinions. "People are getting used to it, getting numb."

HSBC's manufacturing purchasing managers' index for China posted a reading of 48.1 for April, slightly improved from March's 48.0 but below the preliminary reading of 48.3. A reading below 50 indicates economic contraction, a bearish signal for oil demand because China is the world's second-largest crude consumer behind the U.S.

"The data in China was disappointing to say the least," said Phil Flynn, an account executive at wholesale brokerage Price Futures Group.

Reformulated gasoline blendstock, or RBOB, futures ended at a one-month low, with the front-month June contract down 3.53 cents, or 1.2%, at $2.9092 a gallon. June diesel fell 1.59 cents, or 0.5%, to $2.9064 a gallon.