日付と時刻の形式


7

によって出力されたフォーマットの最初の列にたくさんの日付がありますIFTTT

August 23, 2010 at 11:01PM

日付と時刻の計算に使用できるようにフォーマットする方法はありますか?

理想的には、関数は追加の列のみを使用します。


私はあなたが望むように日付をフォーマットする組み込み関数があるとは信じていません。 Google Driveには組み込みのScript EditorTools- Script Editor)があり、カスタムスクリプトを記述して必要な操作を実行できます。StackOverflow行き詰まったら質問を投稿できます。

回答:


9

この式を使用して、IFTTTが出力する日時値を便利な形式に変換します。

=VALUE(SUBSTITUTE(A1, " at ", " "))

ここで、A1は日付文字列を含むセルです

これにより、「日付時刻」としてフォーマットできる10進数が得られます。


2
TIMEVALUE式は、新しいGoogleスプレッドシートの中に存在しています。
Jacob Jan Tuinstra、2015

@JacobJanTuinstraもそうDATEVALUEですか?
jamesmstone 2015

2
@jamesmstone DATEVALUE式は両方のバージョンに存在します。
Jacob Jan Tuinstra、2015

2

次のカスタム関数は、文字列の日付表記を日付表記に変換します。

コード

function myDate(range) {
  var output = [];  
  for(var i=0, iLen=range.length; i<iLen; i++) {
    var rSplit = range[i][0].split(" "), corr = 0;
    if(rSplit[4].substring(5,7) == "PM") {
      corr = 10;
    }   
    var month = parseInt(new Date(Date.parse(rSplit[0]+"1,2013")).getMonth());
    var day = parseInt(rSplit[1].replace(/,/g, ""));
    var year = parseInt(rSplit[2]);
    var hour = parseInt(rSplit[4].substring(0,2))+corr;
    var min = parseInt(rSplit[4].substring(3,5),10);    
    var nDate = new Date(year, month, day, hour, min);
    output.push([nDate]);
  } 
  return output;
}

リマーク

を考慮して修正されますAM/PM。の修正はありませんGMTToolsスプレッドシートのメニューからこのスクリプトを追加し、を選択しますScript editor。スクリプトを保存すると、準備が整います。

使用法

myDate(A1:A4)

サンプルファイルを作成しました:文字列の日付


私は信じていcorr等しくなければならない12編集は、私はそれを変更傾ける6文字未満になるようしかし
jamesmstone

コードをテストした後。いつかは11:09PM年に関係なく)いつも戻ってくることに気づきました1/1/1970 11:00:00。たとえば、August 23, 2010 at 11:09PM返品の1/1/1970 11:00:00 理由は何かわかりますか?
jamesmstone 2013

1
私は@Jacobの例を更新したシートを、これを反映するために
jamesmstone

@jamesmstoneは改訂されたコードを参照してください。これはスプレッドシートの例で機能しparseInt(text, 10)ます。を強制的に小数にしなければなりませんでした。corr設定されcorr=10、これは、同じ時間を得られますので。異なるタイムゾーンは考慮していません。
Jacob Jan Tuinstra 2013

ありがとう。簡単な質問はparseInt()、javascriptと同じ機能parseInt()です。GoogleマクロはJavaScriptを使用しますか?
jamesmstone 2013

-3

表示形式スクリプトの1つを使用することもできます。これにより、基になる数値が通常の表示形式と同じに保たれるため、日付/時刻の数値計算が破損することはありません。

したがって、スクリプトは「フォーマット」を検索し、数値と日付のいずれかを取得します。使用されるフォーマットは、= Text(、 "")バリエーションと同じですが、シートを変換する必要はありません。

MMMM d、yyyy at h:mma

ために:

2010年8月23日午後11時1分

その他のフォーマットオプションについては、http//msdn.microsoft.com/en-us/library/8kb3ddd4(v = vs.110).aspxを参照してください。


3
Googleスプレッドシートの形式についてMicrosoft Developer Networkにアクセスするのはなぜですか?
エール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.