Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 在日期变量中添加0_Asp.net_Reporting Services - Fatal编程技术网

Asp.net 在日期变量中添加0

Asp.net 在日期变量中添加0,asp.net,reporting-services,Asp.net,Reporting Services,我正在通过Reporting Services做报告。我的一个文本框有一个表达式,它接收一个参数,该参数基本上是一个包含日期的字符串,例如“20110410”,我需要将该字符串转换为日期,添加/并将日期放在第一天、第一个月、第二年 这项工作已经完成。但问题是,我需要在低于10的日期和月份之后添加0,因此我希望2011年4月1日不是2011年4月1日 我不知道如何使用标签代码,所以如果代码显示不正确,请提前道歉 =IIF(Parameters!Uperiodo.Value = "Día", IIF

我正在通过Reporting Services做报告。我的一个文本框有一个表达式,它接收一个参数,该参数基本上是一个包含日期的字符串,例如“20110410”,我需要将该字符串转换为日期,添加/并将日期放在第一天、第一个月、第二年

这项工作已经完成。但问题是,我需要在低于10的日期和月份之后添加0,因此我希望2011年4月1日不是2011年4月1日

我不知道如何使用标签代码,所以如果代码显示不正确,请提前道歉

=IIF(Parameters!Uperiodo.Value = "Día",
IIF(Day(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate))<10,
"0"+Day(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate)),
(Day(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate))))
& "/" & 
Month(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate)) 
& "/" & 
Year(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate))
,
Month(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate)) 
& "/" & 
Year(FormatDateTime(
CDate(mid(Parameters!Desde.Value,5,2) & "/" & mid(Parameters!Desde.Value,1,4) & "/" & mid(Parameters!Desde.Value,7,2)),DateFormat.ShortDate))
)
=IIF(参数!Uperiodo.Value=“Día”,
IIF(天(格式日期时间)(

CDate(mid(参数!设计值,5,2)&“/”和mid(参数!设计值,1,4)&“/”和mid(参数!设计值,7,2)),DateFormat.ShortDate))如果这是vb.net,就像您的标记所说的那样,您应该真正阅读您正在使用的类上的。将字符串转换为DateTime,并将DateTime转换回所需格式的字符串

    Dim d As DateTime = DateTime.ParseExact("20110410", "yyyyMMdd", Nothing)

    Console.WriteLine(d.ToString("dd/MM/yyyy")) ' 10/04/2011
此外,您应该使用而不是mid。
如果你有一个数字,你可以根据需要附加一个0

     Console.WriteLine(4.ToString("00")) ' 04
     Console.WriteLine(10.ToString("00")) ' 10
我找到了解决办法

我知道代码很难看,直到最近(1分钟前:)我才意识到我可以使用报表属性中的“个性化代码”来执行变量之类的操作

所以解决方案是使用&而不是+

向您致以最良好的问候,并感谢您的帮助-

重要编辑:
事实上,我不必使用IIF,我只需要为前9个日期添加“0”&就是这样。

DateTime.Parse方法-这是VB.NET代码吗?将字符串解析为
DateTime
变量(
DateTime.Parse
),只需使用正确格式的字符串
myDt.ToString(“hh/mm/yyyy”)
不需要所有可怕的Mid和CDate代码…尽管为什么
Mid
函数没有大写?这是您真正的VB代码吗?使用Reporting Services Format函数,使所有这些都归结为一个简单的=格式(参数!Desde.Value,“dd/MM/yy”)但在执行此操作之前,请确保您的参数定义为日期时间。
我想要2011年4月1日
因此OP可能需要使用
ToString(hh/MM/yyyy”)
根据他们的文化,此报告将在reporting services服务器上读取。reporting services DLL位于解决方案中。因此,我不适合使用VB.NET标记。@NicolasMendez我看到您更改为asp.NET,它可能是C#或VB.NET。我假设您的情况是VB.NET。