| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 900 人关注过本帖
标题:两个由日期挑选器返回日期字符串的函数,大家多提意见.
只看楼主 加入收藏
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
收藏
 问题点数:0 回复次数:6 
两个由日期挑选器返回日期字符串的函数,大家多提意见.
两个函数的功能都是通过一个日期挑选器dtpicker,得到形如"2007/05/12"这种格式的日期。
我写了两个,大家看看哪个更好些。呵呵

'--------------------------------------
'返回日期挑选器控件的日期
'参数:日期挑选器
'返回格式:yyyy/mm/dd[分隔符可设定]
'创建日期:2007-8-21
'修改日期:2007-8-21
'--------------------------------------
Public Function getDtDate(ByRef dt As DTPicker, Optional ByVal vstrSplit As String = "/") As String
On Error GoTo errhandler
Dim strdate As String * 10
strdate = Format(dt.Value, "yyyy-mm-dd")
getDtDate = Replace(strdate, "-", vstrSplit)
Exit Function
errhandler:
getDtDate = ""
End Function


'--------------------------------------
'返回日期挑选器控件的日期
'参数:日期挑选器
'返回格式:yyyy/mm/dd[分隔符可设定]
'创建日期:2007-8-21
'修改日期:2007-8-21
'--------------------------------------
Public Function getDtDate2(ByRef dt As DTPicker, Optional ByVal vstrSplit As String = "/") As String
On Error GoTo errhandler
Dim strYear As String * 4, strMonth As String * 2, strDay As String * 2

strYear = Trim(dt.Year)
If dt.Month <= 9 Then
strMonth = "0" & Trim(dt.Month)
Else
strMonth = Trim(dt.Month)
End If

If dt.Day <= 9 Then
strDay = "0" & Trim(dt.Day)
Else
strDay = Trim(dt.Day)
End If

getDtDate2 = strYear & vstrSplit & strMonth & vstrSplit & strDay
Exit Function
errhandler:
getDtDate2 = ""
End Function
搜索更多相关主题的帖子: 函数 字符 意见 挑选 
2007-08-21 13:03
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
NO。1代码精简

Repeat  Life=Study;Until (death);
2007-08-21 13:29
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
Format(dt.Value, "yyyy/mm/dd") 无法直接用麽?

快上课了……
2007-08-21 13:47
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
以下是引用slore在2007-8-21 13:47:46的发言:
Format(dt.Value, "yyyy/mm/dd") 无法直接用麽?

是的,没有办法直接用呀。
不过刚知道一种用法:
就是
format(dt.value,"yyyy\/mm\/dd")
但是我不知道两个“\”的作用是什么?
大家说说,是转义吗?没找到相关说明资料


2007-08-21 14:11
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 

是的。转义,这个好像有个外文的代码里我看到了,不过它一些不用转的也转了……全是\


快上课了……
2007-08-21 14:48
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
明白了,要加转义字符才行,因为"/"就是日期分隔符,有特别含义的.
要写成format(a,"yyyy\/mm\/dd")
就行了.
下面是msdn上的说明.

(/) 日期分隔符。在一些国别,可能用其他符号来当日期分隔符。在格式化日期数值时,日期分隔符可以用来分隔年、月、日。日期分隔符的真正字符在格式输出时,取决于系统设置。

(\) 将格式字符串中下一个字符显示出来。如想显示一作为原义字符并有特殊含义的字符,可将此字符置于反斜杠 (\) 之后。反斜杠本身并不会显示出来。而使用反斜杠 (\) 的效果和使用双引号是一样的。如想显示反斜杠字符,可使用两个反斜杠 (\\)。
那些不能显示为原义字符的字符是日期格式字符和时间格式字符(a, c, d, h, m, n, p, q, s, t, w, y, / 和 :)、数值格式字符(#, 0, %, E, e, 逗点和句点)和字符串格式字符(@, &, <, > 和 !)。
贴子相关图片:

2007-08-21 15:26
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
学会了

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-21 20:15
快速回复:两个由日期挑选器返回日期字符串的函数,大家多提意见.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054689 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved