0

重複の可能性:
JavaScriptの秒数(hh:mm:ss形式)

これは簡単な作業のように思えますが、私はまだこれを機能させることができていません。

基本的に、私はISO形式の時刻(HH:MM:SS)を含む文字列から始めており、JavaScriptを使用してそれをH:MM am|pmに変換する方法を考えています。

どんな助けでも大歓迎です。

4

4 に答える 4

4

こんにちは、これはあなたを助けるかもしれません...その瞬間と呼ばれるjqueryプラグイン...

日付の解析、操作、書式設定のための軽量 (4.8k) JavaScript 日付ライブラリ。

Moment.js

于 2012-09-06T19:23:02.160 に答える
2

正午または真夜中の時間を適切に処理できない解決策が登場したという理由だけで、提供されているものとそれほど違いはありませんが(適切に機能するという事実は別として)、私はリングに帽子をかぶるつもりです):

var isoToCommonTime = function(iso) {
    var groups = iso.match(/^(\d\d):(\d\d)/),
        hour = +groups[1],
        ampm = (hour >= 12) ? "pm" : "am";

    if(hour > 12) {
        hour -= 12;
    } else if(hour === 0) {
        hour = 12;
    }

    return hour + ":" + groups[2] + " " + ampm;
};
于 2012-09-06T19:57:50.967 に答える
1

このようなものはうまくいくでしょう...

input = "12:34:45";
groups = input.match(/(.+):(.+):(.+)/);

if (groups[1] > 12) {
    hour = groups[1] - 12;
    unit = "pm";
} else {
    hour = groups[1];
    unit = "am";
}

minutes = groups[2];

編集:正午と真夜中の問題に関するコメントには、いくつかの素晴らしい点があります。これらの問題の修正は、読者の演習として残しておきます。(ここでの実際の興味深い部分は、文字列の解析を行うことだと思います)

于 2012-09-06T19:34:58.240 に答える