Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript日期对象存储/检索/格式化日期/时间_Javascript_Date_Datetime_Object - Fatal编程技术网

使用javascript日期对象存储/检索/格式化日期/时间

使用javascript日期对象存储/检索/格式化日期/时间,javascript,date,datetime,object,Javascript,Date,Datetime,Object,我的问题是: 你们当中有专家使用javascript日期“对象”(ms)的概念作为“日期标准”并将其存储在dbs中吗 这个想法有利弊吗 背景: 最近我一直在研究Javascript日期对象及其使用。 作为练习,我创建了一个页面,让我了解每个命令的用法, 也可以作为我的参考 作为存储日期的标准方式,“对象”(毫秒)的概念是intruiting 所以我敲出了创建“对象”的代码,将其作为varchar存储在表中,然后将其取出 并将其用于任何需要的目的 在尝试使用MySQL(YYYY-MM-DD)、标准

我的问题是:

  • 你们当中有专家使用javascript日期“对象”(ms)的概念作为“日期标准”并将其存储在dbs中吗

  • 这个想法有利弊吗

  • 背景:

    最近我一直在研究Javascript日期对象及其使用。 作为练习,我创建了一个页面,让我了解每个命令的用法, 也可以作为我的参考

    作为存储日期的标准方式,“对象”(毫秒)的概念是intruiting 所以我敲出了创建“对象”的代码,将其作为varchar存储在表中,然后将其取出 并将其用于任何需要的目的

    在尝试使用MySQL(YYYY-MM-DD)、标准美国日期格式(MM/DD/YYYY)和php strotime(DD/MM/yyyyy)处理各种日期后,我认为“对象”形式可能更“标准”和灵活

    因此,作为概念证明,我编写了一个简单的前端和后端,其中前端将“日期”作为毫秒值传递给服务器,服务器将其发送回,前端以任何必要的方式对其进行解析

    代码如下:

    CSS

    HTML

    PHP

    这似乎可以很好地作为“概念证明”——始终将日期/日期时间存储为对象(varchar),然后拉出对象并重新格式化 你想怎么都行

    我的问题是:

  • 专家们使用过这种技术吗?(不必操作日期/时间字符串,只需操作对象)

  • 在这个想法中,有没有我可能遗漏的优点和缺点


  • 谢谢

    我不太明白。。。但将日期(或任何定义良好的内容)存储为varchars是一个大禁忌。您可以在MySQL中存储日期,如YYYY/MM/DD或YYYY/MM/DD HH:MM:SS,您必须为US格式的MM/DD/yyyyy、英文格式的DD/MM/YYYY操作日期,为strotime(英文格式)更改日期。但是,如果您以ms格式存储“日期”——1383311740813(适用于11/1/13 6:15:40)——您只需将格式从“通用格式”转换为您想要的任何格式。
    .divtest {
      width:500px;
      margin:0px auto;
      text-align:center;
      background-color:#C1C1FD;
      padding:2em;
      border: 10px solid #FCD1E3;}
    .span1 {
      color:black;}
    .div1 {
      color:red;
      background-color:#C6CDFD;}
    
    <body>
    <div style="width:500px; margin:0px auto; text-align:center;">
    <div id = "test1" class="div1"><span class="span1">Date:</span></div>
    <div id = "test2" class="div1"><span class="span1">Object:</span></div>
    <div id = "test3" class="div1"><span class="span1">Returned Object:</span></div>
    <div id = "test4" class="div1"><span class="span1">Returned Date/Time:</span></div>
    <div id = "test5" class="div1"><span class="span1">Returned Year:</span></div>
    <div id = "test6" class="div1"><span class="span1">Returned Month:</span></div>
    <div id = "test7" class="div1"><span class="span1">Returned Day:</span></div>
    <div id = "test8" class="div1"><span class="span1">Returned Hours:</span></div>
    <div id = "test9" class="div1"><span class="span1">Returned Minutes:</span></div>
    </div>
    
    $(document).ready(function(e) {
    
    var testdate = "12-12-2013";
    var testobject = Date.parse("12/12/2013 11:22:33");
    
    $('#test1').append(testdate);
    $('#test2').append(testobject);
    
    $.ajax({
            type: "POST",
             url: "timedatewritereadbackend.php",
            data: {testobject: testobject},
        dataType: 'json'
            })
              .done( function(result) {
                                       $('#test3').append(result.datetimeobject);
                                       var milliseconds = result.datetimeobject;
                                       var settime = new Date( milliseconds * 1 );//1386876153000
                                       $('#test4').append(settime.toString());
                                       $('#test5').append(settime.getFullYear());
                                       $('#test6').append(settime.getMonth());
                                       $('#test7').append(settime.getDate());
                                       $('#test8').append(settime.getHours());
                                       $('#test9').append(settime.getMinutes());
                                       console.log("Object: " + result.datetimeobject + "--" + "Var milli: " + milliseconds + "--" + "Var settime: " + settime);
                                         })
                .fail(function(jqXHR, textStatus, errorThrown){ console.log(jqXHR.responseText, textStatus, errorThrown);
                                                               $('#returnedobject').append("Fail");
                                                               })
                .always(function(data, textStatus, jqXHR){
                                                          console.log(data, textStatus, jqXHR);
                                                         });                                                           
    
    });//End of ready
    
    $testobject  = $_POST['testobject'];
    $localid = '138';
    
    $host     = XXXXX;
    $user     = XXXXX;
    $password = XXXXX;
    $dbname   = XXXXX;
    
    $cxn = mysqli_connect($host,$user,$password,$dbname);
    if (mysqli_connect_errno()) {echo "No connection" . mysqli_connect_error();}
    
    $query = " UPDATE testtable
               SET datetimeobject = '$testobject'
               WHERE localid = $localid " ;
    $result = mysqli_query($cxn, $query) or die ("could not query database 1");
    
    $query = " SELECT datetimeobject
               FROM testtable
               WHERE localid = $localid " ;
    $result = mysqli_query($cxn, $query) or die ("could not connect");
    
    $row = mysqli_fetch_array($result);
    $variablestopass = array
        (
              'datetimeobject' => $row['datetimeobject']
       );
    echo json_encode($variablestopass);