设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 900|回复: 1
打印 上一主题 下一主题

[其它] 不同office版本之间日期格式的困扰

[复制链接]
跳转到指定楼层
1#
发表于 2005-4-11 19:00:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个[年月]文本控件,格式为"yyyy-m",我需要根据它输入值来求月初和月末日期,并将求出的2个日期值与子窗体中的某2个日期字段进行比较。我按下面方法求的日期:

============================================================
Dim Mfirstday, Mlastday As Date '定义月初和月末为日期

'判断【年月】条件是否有输入的值
If Not IsNull(Me.年月) Then  '有输入
   
    '根据输入的年月,求出月初和月末日期。先求月末日期
    Mlastday = DateSerial(Year([年月]), Month([年月]) + 1, 0)
    '求月初日期
    Mfirstday = [年月] - Day([年月]) + 1

end if
==============================================================

在office XP中,求出的月初、月末日期格式为 yyyy-m-d,与子窗体中的日期字段格式一致,可以比较得到正确的结果。

但在office2000中,求出的月初、月末日期格式为 yy-m-d(年只有后2位),于是与子窗体中的日期字段比较后得到结果不正确。

我尝试改其中2句代码为:

Mlastday = Format(DateSerial(Year([年月]), Month([年月]) + 1, 0), "yyyy-m-d")
Mfirstday = Format([年月] - Day([年月]) + 1, "yyyy-m-d")

希望用格式来控制,但只有Mfirstday行,Mlastday求出的格式仍然是 yy-m-d。

请教大家2个问题:

1、对日期比较,我理解应该是比较实际的日期序列,好像应该和格式无关才对。可为什么格式不一样就不能比较呢?

2、怎样才能使求出的日期格式无论在哪个office版本中都为 yyyy-m-d,代码应该怎么写?

比较着急,请不吝赐教。衷心感谢!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2005-4-11 19:14:00 | 只看该作者
我大概找到原因了,不是office版本的不同,而是控制面板中的区域设置的不同。把“日期”格式改为 yyyy-m-d,就ok了。

但上贴第1个问题还希望有大虾能解释一二。还有,为什么对Mlastday使用format()后没有效果?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-14 10:55 , Processed in 0.079655 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表