0

不要な日付形式のフィールドを含むクエリを取得しています(Thu Feb 21 00:00:00 EST 2013)これをmm-dd-yyyに変更する方法はありますか?

私はjavascriptを使用していて、それを行うためのphpの方法を見つけましたが、残念ながらそれはjavascriptである必要があるため、命令はTOADでの場合とほとんど同じである必要があります。

CONVERT()メソッドを試しましたが、機能しませんでした。正しく使っているかわかりませんが

4

5 に答える 5

1

Convert()関数は機能しますが、ここから正しいフォーマットコードを使用する必要があります: SQL Convert()関数

SELECT Convert(char(10), @date, 110)
于 2013-02-28T21:57:13.097 に答える
0

Date.jsは、日付の書式設定に非常に便利です。

于 2013-02-28T21:56:10.727 に答える
0

JSには、使用できる基本的なDateオブジェクト関数があります。

まず、日付変数を作成します。

var date = new Date('your date value');

次に、個々の日付部分にアクセスできます。

var month = date.getMonth() + 1;  //gets the month . . . it's 0-based, so add 1
var day = date.getDate();         //gets the day of the month
var year = date.getFullYear();    //gets the 4-digit year

これらの値を取得したら、任意の形式でそれらを連結できます。基本的なmm-dd-yyyyには、次を使用します。

var formattedDate = month + "-" + day + "-" + year;

時間とタイムゾーンの値も利用できます。

于 2013-02-28T22:02:31.947 に答える
0

おそらく、UNIX タイムスタンプに変換してからフォーマットしてみてください。私はこれをテストしておらず、おそらくエラーがスローされるでしょうが、あなたはその考えを理解しています.

var input = your date;
input = input.split(" - ").map(function (date){
return Date.parse(date+"-0500")/1000;
}).join(" - ");

var year = input.getYear();
var month = input.getMonth();
var day = input.getDay();
var hours = input.getHours();
var minutes = input.getMinutes();
var seconds = input.getSeconds();
var formatted = month + " " + day + ", " + year + " at " hours + ':' + minutes + ':' +     seconds;
于 2013-02-28T22:09:42.823 に答える
0

それはひどく混乱したフォーマットです。それを変更するには 2 つの基本的な方法があります。1 つはビットを並べ替える方法、もう 1 つはそれを日付オブジェクトに変換し、それを使用して新しい文字列を作成する方法です。いずれにせよ、タイムゾーンのオフセットをどうするかについてはまだ述べていません。

タイムゾーンに略語や名前を使用することはあいまいです。それらには標準がなく、重複しているものもあります (EST は 3 つの異なるタイムゾーンに使用されます)。いずれにせよ、単純な並べ替えは次のようになります。

function formatDate(s) {
  var months = {jan:'01', feb:'02', mar:'03', apr:'04',
                may:'05', jun:'06', jul:'07', aug:'08',
                sep:'09', oct:'10', nov:'11', dec:'12'};
  var s = s.split(' ');
  var d = (s[2] < 10? '0' : '') + s[2]; 

  return months[s[1].toLowerCase()] + '-' + d + '-' + s[5];
}

alert(formatDate('Thu Feb 21 00:00:00 EST 2013')); // 02-21-2013

出力形式 (mm-dd-yyyy) はあいまいです。21-Feb-2013 のような形式または ISO8601 (2013-02-21) のような標準形式の使用を検討してください。

タイムゾーンを考慮する必要がある場合は、日付オブジェクトを作成し、オフセットを追加してから、新しい日付を取得する方が簡単です。ただし、文字列のタイムゾーンを、日付で使用できる数値 (できれば分ですが、時間でもかまいません) に変換する方法も検討する必要があります。

于 2013-02-28T22:54:14.090 に答える