Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
C# 如何在转换为字符串后完全从datetime中删除时间段?_C# - Fatal编程技术网

C# 如何在转换为字符串后完全从datetime中删除时间段?

C# 如何在转换为字符串后完全从datetime中删除时间段?,c#,C#,我需要向存储过程传递一个字符串参数,该存储过程表示一个日期,但长度只有10个字符。我无法通过更改存储过程来更改变量类型或长度。我唯一的选择是使用C#来确保参数是合适的 为此,我想将DateTime对象转换为字符串并删除时间。我尝试在DateTime对象上使用.Date方法,但这只是将时间转换为午夜。这在我的本地机器上是正常的,它用一系列零表示午夜,但在我部署到代码的机器上,午夜由12am表示。这会导致存储过程引发异常 我还尝试通过将DateTime对象转换为字符串后的前10个字符来形成子字符串。

我需要向存储过程传递一个字符串参数,该存储过程表示一个日期,但长度只有10个字符。我无法通过更改存储过程来更改变量类型或长度。我唯一的选择是使用C#来确保参数是合适的

为此,我想将DateTime对象转换为字符串并删除时间。我尝试在DateTime对象上使用.Date方法,但这只是将时间转换为午夜。这在我的本地机器上是正常的,它用一系列零表示午夜,但在我部署到代码的机器上,午夜由12am表示。这会导致存储过程引发异常

我还尝试通过将DateTime对象转换为字符串后的前10个字符来形成子字符串。然而,由于某些天数和月份是个位数,而其他天数和月份是两位数,因此得出的结果不一致

例如:

2010年12月12日转换为“2010年12月12日”

但是

1900年1月1日被转换为“1/1/1900 1”(“1”来自12:00:000AM的开头)

您可以使用

string date = dt.ToShortDateString();
或(同义)

最后一种方法可以确保格式,即使当前区域性的日期格式不同。

您可以使用

string date = dt.ToShortDateString();
或(同义)


最后一种方法可以确保格式,即使当前区域性的日期格式不同。

有很多方法可以做到这一点,请尝试以下方法:

var myDateTime=DateTime.Now


var参数=myDateTime.ToString(“yyyy-MM-dd”,CultureInfo.InvariantCulture)

有很多方法可以做到这一点,可以尝试的方法是:

var myDateTime=DateTime.Now


var参数=myDateTime.ToString(“yyyy-MM-dd”,CultureInfo.InvariantCulture)

因此,查找第一个空格并使用子字符串将其删除。只需执行
myDate.ToSortDateString()
即可查找第一个空格并使用子字符串将其删除。只需执行
myDate.ToSortDateString()
string date = dt.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);