Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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
ASP.NET中的Datetime.Now方法_Asp.net_Ajax_Datetime - Fatal编程技术网

ASP.NET中的Datetime.Now方法

ASP.NET中的Datetime.Now方法,asp.net,ajax,datetime,Asp.net,Ajax,Datetime,我正在使用ASP.NET为必须添加到SQL数据库的数据提供一些变量 我正在使用的代码: 我正在使用DateTime。现在选择当前时间 我如何使用它: 我有两个页面,一个是插入用户帖子的页面。另一个页面用于ajax目的,用于向帖子添加一些文本注释 在这两个页面中,我使用相同的代码 但是代码正在执行不同的值。您可以在这里查看: 在帖子中,时间被保存为“9/1/2013”,即2013年9月1日!在注释中,它保存为2013年9月1日,这意味着相同 我的问题:代码如何知道请求是ajax请求还是post请

我正在使用ASP.NET为必须添加到SQL数据库的数据提供一些变量

我正在使用的代码:

我正在使用
DateTime。现在
选择当前时间

我如何使用它:

我有两个页面,一个是插入用户帖子的页面。另一个页面用于ajax目的,用于向帖子添加一些文本注释

在这两个页面中,我使用相同的代码

但是代码正在执行不同的值。您可以在这里查看:

在帖子中,时间被保存为“9/1/2013”,即2013年9月1日!在注释中,它保存为2013年9月1日,这意味着相同

我的问题:代码如何知道请求是ajax请求还是post请求。post页面代码被包装在
if(IsPost){
中,但是注释是一个ajax调用


这背后的原因是什么?

假设AJAX调用没有改变DateTimes的格式字符串,我会假设处理这两个不同请求的线程在不同的区域性下运行,这将解释为什么它们的显示方式不同(不确定为什么,也许可以检查您的设置)。请尝试以下操作,您将看到区域性如何影响日期时间输出:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 
Console.WriteLine (DateTime.Now.ToString());
Thread.CurrentThread.CurrentCulture = new CultureInfo("gu-IN");
Console.WriteLine (DateTime.Now.ToString());

这里有一些。

假设您的AJAX调用没有更改日期时间的格式字符串,我会假设处理这两个不同请求的线程在不同的区域性下运行,这将解释为什么它们的显示方式不同(不确定为什么,也许可以检查您的设置)。请尝试以下操作,您将看到区域性如何影响日期时间输出:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 
Console.WriteLine (DateTime.Now.ToString());
Thread.CurrentThread.CurrentCulture = new CultureInfo("gu-IN");
Console.WriteLine (DateTime.Now.ToString());

这里有一些。

代码从当前线程的区域性信息中知道。您应该使用DateTime.Now.ToString(“yyy-MMM-dd”)或任何其他格式,以确保输出。

代码从当前线程的区域性信息中知道。您应该使用DateTime.Now.ToString(“yyy-MMM-dd”)或者根据您的需要使用任何其他格式以确保输出。

我发现了问题所在


我在数据库表中将列数据类型设置为nvarchar(50)。将其编辑为数据类型DateTime后,我能够得到相同的结果。因此,问题不是区域性或DateTime。而是SQL Server数据库中列的数据类型。

我找到了问题所在


我已经将列数据类型设置为nvarchar(50)在数据库表中。将其编辑为数据类型DateTime后,我能够得到相同的结果。因此,问题不在于区域性或DateTime。而是SQL Server数据库中列的数据类型。

我假设处理这两个不同请求的线程在不同的区域性下运行,这将解释为什么它们正在运行显示方式不同(不确定原因,请检查您的设置)。如果要存储Post的时间戳信息或任何类似信息,您应该始终将信息存储为UTC时间,并且要显示,您应该将其转换为本地时间。正如我已经提到的,我在web.config或任何其他位置的代码中没有时间或其他设置,Akash我可以使用UTC,但我现在不想做所有这些编码。H伙计们,特别是DavidN,我已经重新检查了页面,页面执行的时间如下:你也可以看看这里。这是来自同一页面的代码,我刚刚又写了5行,让页面提供了
日期时间。现在;
你可以在URL中看到查询字符串。时间与帖子中的时间相同。确保你取消登录理解在web应用程序中使用日期时间的含义。现在,你真的不应该这样做。阅读我假设处理这两个不同请求的线程在不同的区域性下运行,这将解释为什么它们显示不同(不确定为什么,也许检查你的设置)。如果要存储Post的时间戳信息或任何类似信息,您应该始终将信息存储为UTC时间,并且要显示,您应该将其转换为本地时间。正如我已经提到的,我在web.config或任何其他位置的代码中没有时间或其他设置,Akash我可以使用UTC,但我现在不想做所有这些编码。H伙计们,特别是DavidN,我已经重新检查了页面,页面执行的时间如下:你也可以看看这里。这是来自同一页面的代码,我刚刚又写了5行,让页面提供了
日期时间。现在;
你可以在URL中看到查询字符串。时间与帖子中的时间相同。确保你取消登录理解在web应用程序中使用日期时间的含义。现在,你真的不应该这样做。请阅读,但问题是为什么不同的线程具有不同的区域性?这是不一致的,不仅会导致日期时间问题,还会导致数字格式、字符串比较和一系列其他问题。L让我直截了当地说,如果你看一下代码,第一个时间戳中的月份是一个单词,第二个时间戳中的月份是三个字母的单词。在转换时这将是一个问题。@DavidN在他的评论中是正确的。但问题是,为什么不同的线程具有不同的文化?这是不一致的,不仅会导致问题有DateTimes,但有数字格式、字符串比较和其他许多问题。让我直截了当地说,如果你看一下代码,在第一个时间戳中,月份是一个单词,第二个是三个字母的单词。在转换时这将是一个问题。@DavidN在他的评论中是正确的。不,两个文件都是p放在同一个文件夹中,在相同的块中“几乎”。唯一的区别是第一段代码放在
if(IsPost)
中,另一段代码是显式的。而且,我没有使用任何文化,甚至没有IP或任何类似的东西。只使用
DateTime.Now;
。我将试用此代码。不,两个文件都没有