2011-01-13 16 views
8

に日付ストリング変換し、それはこのような何かを送信します。私はJavaからJavaScriptにJSON経由日付を送信すると、Javaはjavascriptの日付

var ds = "11:07:47 13/01/2011"; 

Javascriptが任意の日付に

var d = new Date(ds); 

をこの文字列を解析するために失敗しましたアイデア?

文字列を解析し、年、月、日、分、時間、文字列内の二戻るあなたは、いくつかのJSが必要
+0

は解析に失敗しますか?何かエラーが出ますか? – SilentGhost

+0

はい。次の用語を使用して例外をスローします。if(isNaN(d))throw SyntaxError( "invalid date"); –

+1

2011年1月に尋ねられたdupのリンクは2011年4月です。これはどのように複製できますか? –

答えて

12

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]; 

をして、Dateコンストラクタをインスタンス化:

var d = new Date (year, month, day, hour, minute, second); 
+1

3行目は 'second = ds.split(": ")[2]、'、4行目を削除し、5行目は 'last_part2 = ds.split(" ")[1]、'にする必要があります。 last_part2の名前を2番目の名前に変更することができます。 – Vache

+0

コードを書いてくれてありがとう、それは魅力的に機能しました! –

4

安全な側にいるためには、Javaでミリ秒単位で時間を取得し、JSONを介してJavaScriptに送信する必要があります。そこには、あなたがDateコンストラクタを呼び出すことができるいくつかの方法があります

var d = new Date(); 
d.setTime(valueInMilliseconds); 
3

を使用することができます。 http://www.w3schools.com/js/js_obj_date.aspの基準から

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) 
2
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","-") 
関連する問題