2017-09-04 56 views
-2

我從MySQL數據庫字段獲得了該值:「9月9日@ 08:00 - 17:00」。 我可以將此客戶端更改爲9月9日?我嘗試過使用JavaScript,但我並沒有接近。從數據庫客戶端更改文本

日期可能會更改。

期望的結果在瀏覽器中:9月9日

謝謝

+2

'我試着用JavaScript'我們可以看到你什麼索引樹d? – fvu

+0

你確定從mysqldb'「9月9日@ 08:00 - 17:00」獲得格式嗎'' – prasanth

+0

@fvu 我會在今天晚上上當家。不要指望太多:) – user6079228

回答

0

這對來自數據庫的日期時間值相當少見的輸出。一個解決方案是@字符之後簡單地去除所有文字 - 如果你確定輸出格式保持原樣是:

var datetime = 'september 9 @ 19:20 - 20:00'; 
 
var result = datetime.substr(0, datetime.indexOf('@')).trim(); 
 

 
console.log(result); // outputs 'september 9' 
 

 
var date = new Date(result); 
 
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; 
 

 
console.log(date.getDate(), months[date.getMonth()]); // outputs '9 September'

+0

嗨Jason K, 謝謝你的迴應。是的,它是一個nvarchar字段中的字符串。 但它是:9月9日@ 08:00 - 17:00 如何使用代碼切換日期和月份? – user6079228

+0

嗨thx,但那不是我正在尋找的笏。該字段的價值可能會激化,您不必將其視爲日期。我只想打敗前兩個字。 – user6079228

+0

第二個輸出是Safari中的'NaN undefined'。請參閱[*爲什麼Date.parse提供不正確的結果?](https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results) – RobG

0

你想要的值是字符串,所以只是重新格式化它:

var s = 'September 9 @ 08:00 - 17:00'; 
 
var b = s.split(' '); 
 
console.log(b[1] + ' ' + b[0]); 
 

 
// You could even do 
 
console.log(s.replace(/(\w+) (\d+)(.*)/, '$2 $1')); 
 

 
// Or if you want to just swap the month and day and keep the rest 
 
console.log(s.replace(/(\w+) (\d+)/, '$2 $1'));