工作中遇到要将一个矢量按照要素“日期”字段的年月进行拆分,打算先新建字段计算要素的年月,再进行拆分。
方法
可以使用“字段计算器”中的“DatePart()” VB 函数来提取要素类或 shapefile 的“日期”字段中的各个部分(如年、月、日、小时、分钟或秒)。
注:请注意,shapefile (矢量)属性中只支持日期部分 (yyyy/mm/d),因此不能从 shapefile 的“日期”字段中提取时间信息 (hh:mm:ss)。
表达式
DatePart('PART', [DATEFIELD])
注: “PART”参数可以是以下关键字之一:yyyy(年)、m(月)、d(日)、h(小时)、n(分钟)或 s(秒),且必须用双引号括起来。
过程
- 将新字段添加到目标要素类或 shapefile。 将字段类型指定为文本。 日期字段不支持单个日期部分,因此该部分应提取到文本字段。
- 打开字段计算器。
- 解析程序(Parser)选择“VB Script”。DatePart()支持在界面进行选择,可以选择“类型”(Type)中的“日期”(Date),然后在右侧“功能”(Functions)双击选择“DatePart()”函数,也可直接在主代码框中输入“DatePart()”。
- 在字段计算器中,输入需要的表达式。
- 单击确定以运行字段计算。
示例
- 新建字段“年月”,类型为“文本”。
- 打开属性表,右键“年月”字段,选择字段计算器。(编辑模式外使用字段计算器计算结果是不能撤回的)
- 字段计算器输入我需要的表达式。
DatePart ( "yyyy" , [日期] ) & "/" & DatePart ( "m" , [日期] )
注意月份是“m”,而不是“mm”。
4. 点击确认得到计算结果。