0

これは、Android ではうまく機能するが iOS では機能しない Javascript の例です。どうしてか分かりません?

showTime = function(timeId, time_incoming) {
    var curTime = new Date();
    var time_in = new Date(time_incoming);
    var curTimeStr = curTime.format('yy/mm/dd');
    var inTimeStr = time_in.format('yy/mm/dd');
    if (curTimeStr === inTimeStr)
    {
       $("#" + timeId).text(curTimeStr);
    }
    else
    {
        $("#" + timeId).text(inTimeStr);
    }
}
4

1 に答える 1

2

JavaScriptのDateオブジェクトにはformat機能がありません。

個別に、次の行を再設定します。

var time_in = new Date(time_incoming);

あなたは何を言っていませんtime_incomingが、それが文字列の場合は、実際にサポートされている形式の文字列であることを確認する必要があります. サポートされている形式に多くのブラウザーが追加されていますが、それに頼ることはできません。公式にサポートされている唯一の文字列形式は ISO 8601 の簡略化された形式ですが、これは比較的新しく (数年前に指定されただけ)、古いブラウザーには存在しません。すべてのデスクトップ ブラウザはyyyy/mm/dd、指定されていなくても (ダッシュではなくスラッシュで) サポートしています。したがって、time_incomingが文字列の場合は、自分で解析する必要がある場合があります。

于 2012-06-11T09:28:45.927 に答える