weijianxiong 发表于 2015-8-19 08:55:00

请教大师日期转换问题

怎样把(2015/08/1~2015/08/30)转换成(2015年08月1日~2015年08月30日)这种格式

frank.zhang 发表于 2015-8-19 11:09:00

您好,
将日期修改有以下两种方式:
1.使用Format
=Format(DateAndTime.Now(),"yyyy年MM月dd日")+"至"+Format(DateAdd(DateInterval.Month, 3, DateAndTime.Now()),"yyyy年MM月dd日")
2.使用脚本
Public Function FormatDate(ByVal value As String) As String
    If value = Nothing Then
      Return value
      Exit Function
    End If
    Dim a AsSystem.DateTime
    Dim test As String
    a = DateTime.Parse(value)
    test = a.ToString("MMMM.dd.yyyy", New System.Globalization.CultureInfo("en-US")).ToUpper()
   
    Return test
End Function

您可以先尝试下,如果有问题,可以将报表模板发到论坛上,我们可以帮您调试。

weijianxiong 发表于 2015-8-19 13:00:00

可以直接在VALUE中使用吗?
=Format( First(Fields!計算期間FROM.Value, "DataSet1") ,"yyyy年MM月dd日")&"至"&Format( First(Fields!計算期間TO.Value, "DataSet1") ,"yyyy年MM月dd日")

frank.zhang 发表于 2015-8-19 14:43:00

是的。
可以参考附件。

weijianxiong 发表于 2015-8-19 14:56:00

=Format( First(Fields!原契約貸付日.Value, "DataSet1") ,"yyyy年MM月dd日")
结果出来的是"yyyy年MM月dd日",而不是2015年08月18日

weijianxiong 发表于 2015-8-19 15:10:00

我可以在属性那边value里输入=cdate(First(Fields!到货日期.Value))
calendar里选择Hijli
Format里输入yyyy年MM月dd日
可以得出2010年08月01日
但是
=Format( First(Fields!計算期間FROM.Value, "DataSet1") ,"yyyy年MM月dd日")&"至"&Format( First(Fields!計算期間TO.Value, "DataSet1") ,"yyyy年MM月dd日") 却不可以

frank.zhang 发表于 2015-8-19 16:03:00

回复 6楼weijianxiong的帖子

您好,
我怀疑这个问题跟数据库有关系。
请问您的数据源是哪个数据库的?計算期間FROM这个字段是哪种类型的?

weijianxiong 发表于 2015-8-19 16:08:00

SQL server2012
計算期間FROM出来的是2015/08/1
= First(Fields!計算期間FROM.Value, "DataSet1")

frank.zhang 发表于 2015-8-19 18:45:00

您好,
由于搭建数据库环境需要一点时间,明天会继续调查。

frank.zhang 发表于 2015-8-20 11:57:00

您好,
您的需求经过验证:
1.数据库字段


2.设计
=Format( First([订购日期], "DataSet1") ,"yyyy年MM月dd日")&"至"&Format( First([发货日期], "DataSet1") ,"yyyy年MM月dd日")

3.显示结果

页: [1] 2
查看完整版本: 请教大师日期转换问题