2

json で 2012-02-06 16:30,2012-02-08 16:45,2012-02-10 16:30 のような日時を取得しています。
これが私のコードです。

<script type="text/javascript">
<?php if($this->Date) : ?>
var date = JSON.parse('<?=$this->Date?>');
$.each(date, function(index, value) {
    switch(index) {
      case 0:
        $("#Date").val(value);
        $("#Time").val(value);
      case 1:
        $("#Date1").val(value);
        $("#Time1").val(value);
      case 2:
        $("#Date2").val(value);
        $("#Time2").val(value);
     }
});
<?php endif; ?>  
</script>

ここでは、日付フィールドの時刻フィールドに日付を渡したいと思います。私を助けてください

4

4 に答える 4

2

これはうまくいくかもしれません:

    var new_arr = [];
    var a = "2012-02-06 16:30,2012-02-08 16:45,2012-02-10 16:30".split(",");
    for(var i =0; i<a.length; i++)
    { 
      new_arr.push(a[i].split(' '));
    }
   console.log(new_arr);
于 2012-07-26T13:40:47.597 に答える
2

まず、統一感を保つために、andの id を#Dateand#Timeに変更します。そうすれば、ステートメントを完全に取り除き、このようなことを行うことができます。これにより、コーディングがはるかに少なくなり、コードを変更せずにより多くの項目に拡張できます。#Date0#Time0switch

あなたの質問の鍵は、split()日付文字列を断片の配列に分割する関数です。

<script type="text/javascript">
    <?php if($this->Date) : ?>
        var date = JSON.parse('<?=$this->Date?>');
        $.each(date, function(index, value) {

            // Split the Date/Time string into an array with two items
            //(0=date, 1=time)
            var pieces = date.split(' ');

            $("#Date"+index).val(pieces[0]);
            $("#Time"+index).val(pieces[1]);
        });
    <?php endif; ?>  
</script>
于 2012-07-26T13:38:33.100 に答える
1
var date = '2012-02-06 16:30';
var date_parts = date.split(' ');
# date_parts[0] <- date
# date_parts[1] <- time
于 2012-07-26T13:38:27.780 に答える
1

文字列に有効な日付が含まれている場合は、それを Date オブジェクトに変換できます。

  d = new Date("2012-02-06 16:30")

次に、Date オブジェクトのすべてのメソッドにアクセスできる必要があります。

  • getTime() - 1970 年 1 月 1 日 @ 午前 12:00 からのミリ秒数
  • getSeconds() - 秒数 (0-59)
  • getMinutes() - 分数 (0-59)
  • getHours() - 時間数 (0-23)
  • getDay() - 曜日 (0-6)。0 = 日曜日、...、6 = 土曜日
  • getDate() - 月の日 (0-31)
  • getMonth() - 月の数 (0-11)
  • getFullYear() - 4 桁の年 (1970-9999)
于 2012-07-26T13:50:48.653 に答える