2016-05-20 2 views
0

このような日付形式/月の名前/ 2016年Hr:MM:SSこれは文字列として私に来る。私は入力文字列に1時間を追加し、それをLocal timeとして表示したいと思います。「月/年/年:YHY:MM:SS」の形式に1時間追加するJavaスクリプト機能

これを部分文字列にしようとしていますが、月の名前が「11月」と「7月」の文字数が多いため、形式が一致しません。

いずれかが、次はあなたが一時間を追加し、ローカルに変換することができます... ..私は正規表現で探していますが、私はREGができますかどうかわからないですこれをする方法

+0

は 'Date'最初にそれを変換して、それを修正しますか? – David

+0

確かに。日付に変換し、エポックからmsを取得し、3600000 ms(1時間)を追加して元に戻します。この方法では、午後11時以降の日付に1時間を追加すると、閏年や月境界線のようなものに対処する必要はありません。 – Shilly

+0

'var配列= dateStr.split(/ [\/\ s:] /)'を使用し、配列からDateオブジェクトを作成します。 – jcubic

答えて

0
function UTCTime() { 
     var time = "MM/DD/YYYY HH:MM:SS AM\PM"; 
     var months = ["Jan", 'Feb', "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
     var array = dtc_time.split(/[\/\s:]/); 
     var d = new Date(array[2], array[0] - 1, array[1], array[3], array[4], array[5], 0); 
     d.setHours(array[3] - 1);    
     var time = formatAMPM(d); 
     var local = d.getDate() + "/" + months[d.getMonth()] + "/" + d.getFullYear() + " " + time; 
     document.getElementById("demo").innerHTML = local.fontcolor("white"); 
    } 
    function formatAMPM(date) { 
     var hours = date.getHours(); 
     var minutes = date.getMinutes(); 
     var seconds = date.getSeconds(); 
     var ampm = hours >= 12 ? 'PM' : 'AM'; 
     hours = hours % 12; 
     hours = hours ? hours : 12; // the hour '0' should be '12' 
     minutes = minutes < 10 ? '0' + minutes : minutes; 
     seconds = seconds < 10 ? '0' + seconds : seconds; 
     var strTime = hours + ':' + minutes + ':' + seconds + ' ' + ampm; 
     return strTime; 
    } 
+0

これは私のために働いた.... – amesome

0

を提案してくださいすることができ時間。

var dateString = "15/January/2016 23:59:59"; 
// Replace slashes 
var dateStringReplaced = dateString.replace('/', ' '); 
// Parse date 
var date = new Date(Date.parse(dateStringReplaced)); 
// Add an hour 
date.setHours(date.getHours() + 1); 
console.log(date.toLocaleString()); 

https://jsbin.com/tecosovaki/1/edit?js,console

+0

「DD /月名// YYYY HH:MM:SS AM \ PM」形式で日付を表示する必要があるのと同じ形式に戻す方法を提案することもできます – amesome

+0

この例では、 。 https://jsbin.com/sujuzexuli/edit?js,console これがあなたの質問の元の意図だった場合は、私は親切にあなたの質問を修正してこれを反映するよう提案します。 –

+0

私の前の例は24時間です。 AM \ PMを取得するには、私の例では、時間形式を "en-AU"に変更することができます。 string.replace()を削除すると、「2016年1月16日12:59:59 AM」と表示されます。スラッシュを挿入する方法を見つけることができます。 –

関連する問題