日期时间在本地工作,但不在服务器上
本文关键字:服务器 工作 时间 日期 | 更新日期: 2023-09-27 18:15:17
我有一个表单插入一个日期…
本地工作,当我提交表单时,它工作得很好,并将日期保存到服务器。
但是当我尝试从服务器执行此操作时,我得到一个错误:
代码:字符串未被识别为有效的DateTime.System.Collections.ListDictionaryInternal
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;
public partial class test : System.Web.UI.Page
{
protected void dog_add_submit_Click(object sender, EventArgs e)
{
/*Create and Populate Dog*/
Dog d = new Dog();
try
{
d.DogName = dog_add_name.Text;
d.ImageUrl = SaveImages();
d.Colour = dog_add_colour.Text;
d.PlaceFrom = dog_add_placeFrom.Text;
d.Breed = dog_add_breed.Text;
d.ArrivalDate = DateTime.Parse(txtDate.Text);
//if fields were populated properly in c# proceed to insert into database
try
{
int numEffected = d.doginsert();
// Response.Write("num of effected rows are " + numEffected.ToString());
Response.Redirect("MedicalHistoryAdd.aspx?dogid=" + d.SqldogID);
}
catch (Exception ex)
{
Response.Write("There was an error when trying to insert the dog into the database" + ex.Message);
}
}
catch (Exception ex)
{
Response.Write(ex.Message + ex.Data);
}
}
}
。NET会将您的区域设置设置为它所运行的机器上的默认值。这意味着它还将解析该地区的DateTime和ToString() DateTime。所以我猜您的本地语言/时区偏好与服务器不同?
可以在web中设置。配置期望并输出特定的内容:
<system.web>
<globalization culture="da-DK" uiCulture="da-DK" />
</system.web>
我的是丹麦语,也许你想要en-GB或en-US ?
第二个选择是使用不变格式提供程序在桶里打鱼。
DateTime.Parse(txtDate.Text, DateTimeFormatInfo.InvariantInfo);
希望有帮助!
try this
DateTime curr = Convert.ToDateTime(txtDate.Text);
d.ArrivalDate = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(curr, "India Standard Time");
或
d.ArrivalDate = Convert.ToDateTime(txtDate.Text);