このタスクを実行するために、JavaScriptまたはc#のいずれかを使用するオプションがあります。
「10/14/20128:45:34PM」の形式の文字列がたくさんあります。「10/14/20128:45PM」のように秒を削除してPMを保持するにはどうすればよいですか。
文字列の長さは日時によって異なるため、部分文字列は使用できません。
このタスクを実行するために、JavaScriptまたはc#のいずれかを使用するオプションがあります。
「10/14/20128:45:34PM」の形式の文字列がたくさんあります。「10/14/20128:45PM」のように秒を削除してPMを保持するにはどうすればよいですか。
文字列の長さは日時によって異なるため、部分文字列は使用できません。
C#では、次のことができます。
myTime.ToString("MM/dd/yyyy hh:mmtt");
または、ここFormat Specifiers
で説明されている組み込みを使用することもできます。
編集-あなたの投稿が表示されていることに気付いたので、mm
との間のスペースを削除しました。との間にスペースを追加できます。tt
8:45PM
mm
tt
8:45 PM
文字列が一貫してフォーマットされている場合は、次のようになります。
var s = '10/14/2012 8:45:34 PM';
s = s.replace(/:\d+ (\w\w)$/, '$1'); // 10/14/2012 8:45PM
そのフォーマットは大多数の人々によって誤解されるので、それが非常に限られた聴衆によってのみ使用されることを願っています。より広く理解され、はるかに明確な形式は次のとおりです。
2012-10-14 8:45PM
正規表現を使用できます。
C#:
string d = "10/14/2012 8:45:34 PM";
d = Regex.Replace(d, @":\d\d ", String.Empty);
Javascript:
var d = "10/14/2012 8:45:34 PM";
d = d.replace(/:\d\d /, '');
文字列の操作に正規表現を利用でき、非常に簡単です。
var mydate = "10/14/2012 8:45:34 PM";
var formated_date = mydate.replace(/(\d{1,2})\/(\d{1,2})\/(\d{4})\ (\d{1,2}):(\d{1,2}):(\d{1,2})\ (.*)/, "$1/$2/$3\ $4:$5$7");
document.write(formated_date);
まあ、あなたは試すことができます:
var string="10/14/2012 8:45:34 PM";
var resultArray = string.split(":");
var result = string.replace(resultArray[2],"");
これはjavascriptで効果的に機能するはずです。すぐにテストして、これを更新します。
アップデート:
var string="10/14/2012 8:45:34 PM";
var resultArray = string.split(":");
var result = string.replace(":"+resultArray[2]," ")+resultArray[2].split(" ")[1];
少し厄介です。しかし、それはうまく機能します:http: //jsfiddle.net/x8uUW/
正規表現を使用した更新(正規表現ジェネレーターを使用したため、決してコンパクトではありませんが、機能します:http: //jsfiddle.net/x8uUW/1/
ウィジェットのテキストを設定するためにAxureJavaScriptで使用しようとしToString()
ましたが、失敗しました。Axureでの正規表現は問題外であるため(少なくとも、これを投稿した時点では)、別の簡単な代替方法を考え出しましたが、非効率的な方法です。それ:
aDate.toLocaleTimeString().replace(':'+aDate.getSeconds(),'')