2

このタスクを実行するために、JavaScriptまたはc#のいずれかを使用するオプションがあります。

「10/14/20128:45:34PM」の形式の文字列がたくさんあります。「10/14/20128:45PM」のように秒を削除してPMを保持するにはどうすればよいですか。

文字列の長さは日時によって異なるため、部分文字列は使用できません。

4

6 に答える 6

10

C#では、次のことができます。

myTime.ToString("MM/dd/yyyy hh:mmtt");

または、ここFormat Specifiersで説明されている組み込みを使用することもできます。

編集-あなたの投稿が表示されていることに気付いたので、mmとの間のスペースを削除しました。との間にスペースを追加できます。tt8:45PMmmtt8:45 PM

于 2012-10-15T22:36:21.077 に答える
3

文字列が一貫してフォーマットされている場合は、次のようになります。

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
于 2012-10-15T22:40:09.123 に答える
2

正規表現を使用できます。

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 /, '');
于 2012-10-15T22:43:09.360 に答える
1

文字列の操作に正規表現を利用でき、非常に簡単です。

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

于 2015-08-27T17:32:18.367 に答える
0

まあ、あなたは試すことができます:

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/

于 2012-10-15T22:36:12.077 に答える
0

ウィジェットのテキストを設定するためにAxureJavaScriptで使用しようとしToString()ましたが、失敗しました。Axureでの正規表現は問題外であるため(少なくとも、これを投稿した時点では)、別の簡単な代替方法を考え出しましたが、非効率的な方法です。それ:

aDate.toLocaleTimeString().replace(':'+aDate.getSeconds(),'')
于 2014-05-13T13:17:48.230 に答える