将Java日期字符串转换为javascript日期
当我通过JSON将日期从Java发送到Javascript时,它会发送如下内容:将Java日期字符串转换为javascript日期,javascript,string,json,date,Javascript,String,Json,Date,当我通过JSON将日期从Java发送到Javascript时,它会发送如下内容: var ds = "11:07:47 13/01/2011"; Javascript无法将此字符串解析为日期 var d = new Date(ds); 有什么想法吗?您需要一些JS来解析字符串并返回字符串中的年、月、日、分钟、小时、秒: var hour = ds.split(":")[0], minute = ds.split(":")[1], last_part = ds.split(":
var ds = "11:07:47 13/01/2011";
Javascript无法将此字符串解析为日期
var d = new Date(ds);
有什么想法吗?您需要一些JS来解析字符串并返回字符串中的年、月、日、分钟、小时、秒:
var hour = ds.split(":")[0],
minute = ds.split(":")[1],
last_part = ds.split(":")[2],
second = second_part.split(" ")[0],
last_part2 = second_part.split(" ")[1],
day = last_part2.split("/")[0],
month = last_part2.split("/")[1],
year = last_part2.split("/")[2];
然后实例化日期构造函数:
var d = new Date ( year, month, day, hour, minute, second );
为了安全起见,您应该在Java中以毫秒为单位获取时间,并通过JSON将其发送到JavaScript。在那里你可以使用
var d = new Date();
d.setTime(valueInMilliseconds);
有许多方法可以调用
日期
构造函数。参考地址:
第3行应该是
second=ds.split(“:”[2]),
,删除第4行,第5行应该是last\u part2=ds.split(“”[1]),
。您可以重命名最后一部分2,因为它不再是第二部分了。感谢您编写代码,它工作起来很有魅力!另一种方法是获取Date
对象:var d=moment(ds,“HH:mm:ss DD/mm/YYYY”).asDate()代码>第二个字符串是用于解析输入日期字符串的格式。t这是在2011年1月询问的,dup链接是2011年4月,这怎么可能是重复的?由于不清楚询问的内容,“重复”关闭。是时候重新讨论这个问题了。
new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
function stringToDate(_date,_format,_delimiter)
{
var formatLowerCase=_format.toLowerCase();
var formatItems=formatLowerCase.split(_delimiter);
var dateItems=_date.split(_delimiter);
var monthIndex=formatItems.indexOf("mm");
var dayIndex=formatItems.indexOf("dd");
var yearIndex=formatItems.indexOf("yyyy");
var month=parseInt(dateItems[monthIndex]);
month-=1;
var formatedDate = new Date(dateItems[yearIndex],month,dateItems[dayIndex]);
return formatedDate;
}
stringToDate("17/9/2014","dd/MM/yyyy","/");
stringToDate("9/17/2014","mm/dd/yyyy","/")
stringToDate("9-17-2014","mm-dd-yyyy","-")