2014-06-23 370 views
0

我需要你的幫助,返工從YYYY-MM-dd的日期字符串DD/MM/YYYY

如何,我可以返工,並從YYYY-MM-DDD restring日期字符串到DD/MM/YYYY?

例子:2014年6月27日,首先以斜線更換儀表板,然後轉向圍繞數字的順序形成27/06/2014

我不知道是怎麼去這樣做這個?

感謝

+2

'輸出= input.replace(/(\ d \ d \ d \ d) - (\ d \ d) - (\ d \ d)/,'$ 3/$ 2/$ 1') - 完成! ;) –

+0

我鼓勵你自己嘗試一下。下面是一個解決方案的一些線索:http://www.w3schools.com/jsref/jsref_split.asp和http://www.w3schools.com/jsref/jsref_join.asp – karlipoppins

+0

@NiettheDarkAbsol如果你把它寫入一個答案,我會接受。 –

回答

1

我做了一個自定義日期字符串格式功能,您可以使用。

var getDateString = function(date, format) { 
     var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], 
     getPaddedComp = function(comp) { 
      return ((parseInt(comp) < 10) ? ('0' + comp) : comp) 
     }, 
     formattedDate = format, 
     o = { 
      "y+": date.getFullYear(), // year 
      "M+": months[date.getMonth()], //month 
      "d+": getPaddedComp(date.getDate()), //day 
      "h+": getPaddedComp((date.getHours() > 12) ? date.getHours() % 12 : date.getHours()), //hour 
      "H+": getPaddedComp(date.getHours()), //hour 
      "m+": getPaddedComp(date.getMinutes()), //minute 
      "s+": getPaddedComp(date.getSeconds()), //second 
      "S+": getPaddedComp(date.getMilliseconds()), //millisecond, 
      "t+": (date.getHours() >= 12) ? 'PM' : 'AM' 
     }; 

     for (var k in o) { 
      if (new RegExp("(" + k + ")").test(format)) { 
       formattedDate = formattedDate.replace(RegExp.$1, o[k]); 
      } 
     } 
     return formattedDate; 
    }; 

現在假設你: -

var date = "2014-06-27"; 

所以格式化你寫的這一天: -

var formattedDate = getDateString(new Date(date), "d/M/y") 
+0

哇,過度殺傷很多...?順便說一句,你的getPaddedComp可能更簡單:'return(「0」+ comp).slice(-2);' –

+0

如果你使用這個函數,你不需要爲不同類型的日期編寫單獨的函數格式,您可以根據需要以任何格式格式化日期和時間。 – Indra

0

,如果您使用的是字符串,則string.split將是一個簡單的方法來做到這一點。

C#代碼:

公共無效testDateTime(){

string dashedDate = "2014-01-18"; // yyyy-mm-dd 
var stringArray = dashedDate.Split('-'); 
string newDate = stringArray[2] + "/" + stringArray[1] + "/" + stringArray[0]; 
//convert to dd/mm/yyyy 
Assert.AreEqual(newDate, "18/01/2014"); 

}

+1

C#?這是JavaScript ...你確定你使用了正確的鍵盤類型嗎? –

相關問題