无法在Db中添加日期

时间:2015-12-15 10:52:04

标签: mysql vb.net datetime

我正在尝试使用Dim book_datetime = Date.Now.ToString("yyyy-MM-dd HH:mm:ss") 将日期添加到数据库中,但日期未正确添加。让我解释。我得到了这样的实际日期:

yyyy-MM-dd HH:mm:ss

如您所见,我以这种格式解析日期:query = "INSERT INTO setting (book_datetime) VALUES(@book_datetimep)" MySqlCommand = New MySqlCommand(query, dbCon) MySqlCommand.Parameters.AddWithValue("@book_datetimep", book_datetime) 并且它一切运行良好,但是当我在我的数据库中执行插入时,我得到了这个:

  

2015年12月15日

而不是

  

2015-12-15 11:48:30

这是我执行插入的代码:

book_datetime

我的数据库Date包含book_datetime字段。怎么了?解析后Date正确填充,但当它插入数据库时​​,我得到另一种格式。我看到如果我将字段从Text更改为<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script> <script> var app = angular.module('myapp', []); app.controller('NewsCtrl', function($scope) { // Set news data $scope.news = { specific_for_dealership: '003' }; // Get dealers $scope.dealers = [{ id: 1, dealerid: '001', name: 'Volvo' }, { id: 2, dealerid: '002', name: 'Saab' }, { id: 3, dealerid: '003', name: 'Seat' }]; }); </script> <div ng-app="myapp"> <div ng-controller="NewsCtrl"> <form> <select name="specific_for_dealership" ng-model="news.specific_for_dealership"> <option value="">All</option> <option ng-repeat="dealer in dealers" ng-selected="news.specific_for_dealership" value="{{ dealer.dealerid }}">{{ dealer.name }}</option> </select> </form> </div> </div>,我会得到正确的格式,但为什么?

1 个答案:

答案 0 :(得分:3)

来自MySQL文档here

  

DATE类型用于具有日期部分但没有时间部分的值。   MySQL以'YYYY-MM-DD'格式检索并显示DATE值。该   支持的范围是'1000-01-01'到'9999-12-31'。

     

DATETIME类型用于包含日期和时间的值   部分。 MySQL在'YYYY-MM-DD中检索并显示DATETIME值   HH:MM:SS'格式。支持的范围是'1000-01-01 00:00:00'到   '9999-12-31 23:59:59'。

使用DATETIME作为字段类型而不是DATE,并且在插入时不会截断日期的时间部分。