Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java日期字符串转换为javascript日期_Javascript_String_Json_Date - Fatal编程技术网

将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(":

当我通过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(":")[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","-")