Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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

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
Sql WebMatrix-美国日期/时间格式证明存在问题_Sql_Date_Razor_Webmatrix - Fatal编程技术网

Sql WebMatrix-美国日期/时间格式证明存在问题

Sql WebMatrix-美国日期/时间格式证明存在问题,sql,date,razor,webmatrix,Sql,Date,Razor,Webmatrix,我正在创建一个英国网站,因此我网站上的用户通常使用dd/mm/yyyy格式。我已经创建了一个日期选择器供用户使用,它运行良好,直到我选择了第13天(2013年10月13日)。我猜数据库把这看作是美国的日期,因此一年中没有13个月 我需要对我的代码做什么才能将其转换为正确的格式,或者将我的数据库更改为使用UK格式?什么最简单 if(IsPost){ var dateis = Request["date"]; var insert = "INSERT INTO TestTable (

我正在创建一个英国网站,因此我网站上的用户通常使用dd/mm/yyyy格式。我已经创建了一个日期选择器供用户使用,它运行良好,直到我选择了第13天(2013年10月13日)。我猜数据库把这看作是美国的日期,因此一年中没有13个月

我需要对我的代码做什么才能将其转换为正确的格式,或者将我的数据库更改为使用UK格式?什么最简单

if(IsPost){
    var dateis = Request["date"];
    var insert = "INSERT INTO TestTable (testdate) VALUES (@0)";
    var qinsert = db.Execute (insert, Request["date"]);
}
}
<div class="container">
<h1>Bootstrap Datepicker</h1>
<form method="post">
<div class="input-append date" id="dp3">
<input class="span2" name="date" size="16" type="text" value="">
<span class="add-on"><i class="icon-th"></i></span>
</div>
<button class="btn btn-success" type="submit" value="Submit"/>Submit</button>
</form>
</div>
<script type="text/javascript">
$('#dp3').datepicker({
    format: "dd/mm/yyyy",
    autoclose: true,
    todayHighlight: true
})
</script>
if(IsPost){
var dateis=请求[“日期”];
var insert=“插入TestTable(testdate)值(@0)”;
var qinsert=db.Execute(插入,请求[“日期]);
}
}
引导数据采集器
提交
$('#dp3')。日期选择器({
格式:“dd/mm/yyyy”,
自动关闭:是的,
今天的亮点:真的
})

我个人使用日期选择器的格式
d MM yyyy
(例如“2013年11月14日”)。它占用了更多的空间,但对我来说更具可读性,完全避开了
dd/mm/yyyy
vs
mm/dd/yyyy
问题

如果您想保持原样,只要您的开发机器和服务器机器在英国时间正确配置,就可以使用
AsDateTime()
扩展方法来解决问题

var qinsert = db.Execute (insert, Request["date"].AsDateTime());

正如Mike在另一个答案中指出的那样,这并不是最好的做法——拥有依赖于服务器设置等的代码可能会很容易地困扰您。

通常,最好以yyyy/mm/dd hh:mm:ss格式存储日期。这样,区域差异就没有问题了。另外,如果应用程序是全局的,那么您可能需要考虑使用UTC,这样就不会出现服务器时间变化的问题。p> 但我说的数据库(我使用的是sql express,不是CE)只存储在美国(mm/dd/yyyy)对吗?我完全支持按照您的建议存储它,但当我尝试将它输入数据库时,仍然会抛出错误。它告诉我有一个“超出范围的值”。数据库在内部以二进制格式存储日期,而不是以格式化字符串的形式存储-假设您使用
datetime2
date
作为列类型。@Gavin,您应该阅读以下内容:。