我使用ASP.NET为必须添加到SQL数据库的数据提供一些变量。
我正在使用的代码:
我正在使用DateTime.Now
来选择当前时间。
我如何使用
我有两个页面,一个是插入用户帖子的页面。其他页面用于ajax目的,为帖子添加一些文本注释。
在这两个页面中,我使用相同的代码。
但代码正在执行不同的值。你可以看看这里:
在帖子中,时间保存为“9/1/2013”,即2013年9月1日!在评论中它保存为2013年9月1日,这意味着相同。
我的问题:代码如何知道请求是ajax或post。帖子页面代码包含在if(IsPost) {
中,但评论是ajax调用。
这背后的原因是什么?
答案 0 :(得分:1)
我发现了问题所在。
我在数据库表中将列DataType设置为nvarchar(50)。将其编辑为DataType DateTime后,我得到了相同的结果。所以问题不是文化或日期时间。它是SQL Server数据库中列的DataType。
答案 1 :(得分:0)
假设您的AJAX调用没有更改DateTimes的格式字符串,我会假设处理这2个不同请求的线程在不同的文化下运行,这可以解释为什么它们的显示方式不同(不知道为什么虽然,也许检查你的设置)。尝试以下操作,您将看到文化如何影响DateTime输出:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Console.WriteLine (DateTime.Now.ToString());
Thread.CurrentThread.CurrentCulture = new CultureInfo("gu-IN");
Console.WriteLine (DateTime.Now.ToString());
答案 2 :(得分:0)
代码从当前主题的文化信息中了解。你应该根据你的需要使用DateTime.Now.ToString(“yyyy-MMM-dd”)或任何其他格式来确保输出。