2013-05-09 57 views

回答

1

分割字符串并重新安排它。

var ts = "{ts '2013-05-04 03:21:12'}"; 
ts = ts.match(/'([^']+)'/)[1]; // or ts.split("'")[1] 
var dt = ts.split(" "); 
var date = dt[0]; 
var dateSplit = date.split("-"); 
var finalDate = dateSplit[2] + "-" + dateSplit[1] + "-" + dateSplit[0]; 

这是假设的时间戳总是会在你提供的格式(会不会有其他的数字/字符或在不同的顺序)。

DEMO:http://jsfiddle.net/GQthr/1/

+0

如果你用'''分割,你可以处理原始的'{ts ...}'。 – Mogsdad 2013-05-09 18:51:40

+0

@Mogsdad而不是在'''分裂,我宁愿使用正则表达式。无论如何,我不确定OP实际上可以访问的内容 - 无论是完整字符串还是日期/时间。但这是一个好点,所以我更新了我的答案,希望能够适应这一点。 – Ian 2013-05-09 18:55:33

+0

'{ts ...}'是在某些SQL安装中表示日期的常用方式。所以这是一个公平的猜测,整个字符串是可用的。 – Mogsdad 2013-05-09 18:58:13

0

这里的另一种方法,即利用了Date.parse()优势,它是ISO 8601日期格式(这是你所拥有的)。我从@ Ian的变量名称的答案中借用。

var ts ="{ts '2013-05-04 03:21:12'}"; 

var dt = ts.split("'"); 
var date = new Date(Date.parse(dt[1].replace(' ','T'))); 
var finalDate = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); 

alert(finalDate); 
+0

不妨拨动我的小提琴并使用您的代码来展示此作品! – Ian 2013-05-09 20:13:04