首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在数据采集器中更改日期格式

无法在数据采集器中更改日期格式
EN

Stack Overflow用户
提问于 2017-09-14 10:15:33
回答 3查看 1.5K关注 0票数 0

我有一个数据报警器,它禁用存储在数据库中的所有日期,而且它工作得很好。虽然我有一个问题,但当前的输入格式是my,而我的数据库中的日期格式是yy,这会导致插入时出现问题。我试着添加dateFormat: yy,它不起作用,我试着将它放置在函数的外部和内部,它所做的就是使我的数据报警器无法工作。我真的需要一些帮助,谢谢!如果这是一个愚蠢的问题,我很抱歉,但我对jquery还不熟悉。我试着到处搜索,但是由于我有一个显示日:函数(日期)函数,我似乎无法解决我的问题。

是的,我可以在我的数据库中更改我的日期列的格式,但是我的其他人正在为我们连接到一个数据库的网站开发一个管理面板应用程序,但我现在不能联系他们。谢谢!

PHP

代码语言:javascript
运行
复制
<?php  
$query = " SELECT  * FROM event_table ";
$result = mysqli_query($conn,$query);
$sentToList = array();
while($row = mysqli_fetch_assoc($result)) { 

  $sentToList[] = $row['event_date'];

   }
$json = json_encode($sentToList);

?>

剧本

代码语言:javascript
运行
复制
<script >

    var dateToday = new Date(); 
    $(function() {

    var array = <?php print_r($json) ?>

    $('#mydate').datepicker({

        beforeShowDay: function(date){


            var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
            return [ array.indexOf(string) == -1 ]

        }

    });
});
</script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-14 10:37:48

在这方面,有许多事情需要帮助:

将PHP数组转换为JSON

当从PHP获得JSON编码的'string'时,需要使用JSON.parse(*yourJSONString*);将其解析为JSON对象

日期格式化问题

不使用'20' for year的日期格式要求您在格式字符串中只使用一个y

代码语言:javascript
运行
复制
dateFormat: 'y-mm-dd'

在禁用日期上添加红色X的样式

红色X的禁用日期也需要一些CSS。

代码语言:javascript
运行
复制
.ui-datepicker-calendar>tbody>tr>td.ui-datepicker-unselectable>span.ui-state-default:before{
  bottom: 0;
  content: "X";
  height: 4px;
  left: 7px;
  margin: auto;
  position: relative;
  right: 0;
  top: 0;
  width: 4px;
  color: #FF0000;
}

可选的额外JQuery UI插件

您甚至可以使用工具提示插件使可选择的日期更加明显。

示例

代码语言:javascript
运行
复制
$( function() 
{
  //build up your array
  //this is a mock of var arrayFromPHP = <?php echo json_encode($json); ?>;
  var phpArrayString = '["17-09-30","17-09-29", "17-09-28", "17-09-15", "17-09-09"]';
  
  //parse your json here
  var array = JSON.parse(phpArrayString);

  //include dateFormat AND beforeShowDay options
  $( "#mydate" ).datepicker({ 
      dateFormat: 'y-mm-dd',
      beforeShowDay: function(date)
      {
        var string = jQuery.datepicker.formatDate('y-mm-dd', date);
        
        //You can even use tooltips to make dates you can select more obvious
        return [ array.indexOf(string) == -1, 'highlight', 'You may select this date' ];
      }
  });
  
    //Optionally - call the tooltip plugin on dates that can be selected
  $('#mydate .highlight a').tooltip();
});
代码语言:javascript
运行
复制
/*
  Add this to your stylesheet to include the red X's
*/
.ui-datepicker-calendar>tbody>tr>td.ui-datepicker-unselectable>span.ui-state-default:before{
  bottom: 0;
  content: "X";
  height: 4px;
  left: 7px;
  margin: auto;
  position: relative;
  right: 0;
  top: 0;
  width: 4px;
  color: #FF0000;
}

/*
  Simple utility classes for example styling
*/
.bordered{
  border: 1px solid black;
}

.padded{
  padding: 5px;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>

<div class="bordered">
  <div class="padded">
    <label for="mydate"> Date </label>
    <br />
    <input type="text" id="mydate" size="30" >
  </div>
</div>

票数 0
EN

Stack Overflow用户

发布于 2017-09-14 10:22:25

我想您使用的是jQueryUI 数据采集器

现在,如果您检查他们的API接口列表,您将看到如何格式化您的日期。

如果你还有什么问题,请告诉我们。

票数 1
EN

Stack Overflow用户

发布于 2017-09-14 10:26:31

你不应该这样定义格式吗?

$('#mydate').datepicker({ dateFormat: 'yy-mm-dd' });

如果这就是你已经尝试过的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46216428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档