Board logo

标题: [数值计算] 批处理如何计算周别? [打印本页]

作者: hp_justlove    时间: 2008-7-17 18:16     标题: 批处理如何计算周别?

如题,
请教如何通过日期计算出所在周如7月17日为W829
或者是输入w829列出这周7天的具体日期。

:)不是自己懒,是功力不够!

[ 本帖最后由 hp_justlove 于 2008-7-17 22:55 编辑 ]
作者: 随风    时间: 2008-7-17 18:26

w729 是什么意思?
作者: hp_justlove    时间: 2008-7-17 18:44

应该是 w829,写错了,呵呵,还是楼上的
w829意思是 08年的29周
作者: fastslz    时间: 2008-7-18 13:56

  1. @echo off
  2. >周计算.vbs Echo  aDate = InputBox("请输入一个日期:", "BY: fastslz",date)
  3. >>周计算.vbs Echo Wscript.Echo "W" ^& Right(Year(aDate) ,1) ^& DatePart("ww", aDate)
  4. for /f "delims=" %%i in ('cscript.exe //nologo 周计算.vbs') do set aDate=%%i&del 周计算.vbs
  5. Echo %aDate%
  6. pause
复制代码
  1. @echo off
  2. >星期计算.vbs Echo  aDate = InputBox("请输入一个日期:", "BY: fastslz",date)
  3. >>星期计算.vbs Echo  Wscript.Echo WeekDayName(DatePart("w", aDate))
  4. for /f "delims=" %%i in ('cscript.exe //nologo 星期计算.vbs') do set aDate=%%i&del 星期计算.vbs
  5. Echo %aDate%
  6. pause
复制代码

作者: fastslz    时间: 2008-7-18 14:24

  1. @echo off
  2. >天计算.vbs Echo  aDate = InputBox("请输入一个日期:", "BY: fastslz",date)
  3. >>天计算.vbs Echo Wscript.Echo Year(aDate) ^&"年第" ^& DatePart("y", aDate) ^& "天"
  4. for /f "delims=" %%i in ('cscript.exe //nologo 天计算.vbs') do set aDate=%%i&del 天计算.vbs
  5. Echo %aDate%
  6. pause
复制代码
DatePart 函数

返回给定日期的指定部分。
DatePart(interval, date[, firstdayofweek[, firstweekofyear]])
Arguments
interval 必选项。字符串表达式表示要返回的时间间隔。有关数值,请参阅“设置”部分。 Date 必选项。要计算的日期表达式。 firstdayof week 可选项。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。 Firstweekofyear 可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。 设置interval 参数可以有以下值:

设置描述
yyyy
q季度
m
y一年的日数
d
w一周的日数
ww
h小时
n分钟
s

firstdayofweek 参数可以有以下值:
常数描述
vbUseSystemDayOfWeek0使用区域语言支持 (NLS) API 设置。
vbSunday1星期日(默认)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六

firstweekofyear 参数可以有以下值:
常数描述
vbUseSystem0使用区域语言支持 (NLS) API 设置。
vbFirstJan11由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays2由在新年中至少有四天的第一周开始。
vbFirstFullWeek3由在新的一年中第一个完整的周(不跨年度)开始。

说明DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。
firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。
如果 date 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (" ") 中,并且省略年份,则在代码中每次计算 date 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。.
下面的示例利用 DatePart 函数获得日期并显示该日所在的季节。
Function GetQuarter(TheDate)    GetQuarter = DatePart("q", TheDate)End Function

[ 本帖最后由 fastslz 于 2008-7-18 14:28 编辑 ]
作者: hp_justlove    时间: 2008-7-18 14:54

受教了,已经拷贝下来了,得自己研究研究,
谢谢楼上的,非常感谢




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2