JMP 允许用户指定用户定义的格式。这些自定义格式适用于任何有本机支持格式的地方:数据表、图形生成器、CSV 导入、数据过滤器、JSL 等。这些自定义格式可用于输入和输出日期和时间。
要格式化一列数字并在数据表中获取数字结果,您必须使用“列属性”对话框并使用 GUI 更改格式(参见下图),或者使用 JSL 向该列发送<< 格式()消息。
列属性
该表列出了各个字段描述符及其含义。

JSL 和公式编辑器
自定义日期是通过使用Informat或Format语句中的“Format Pattern”参数来实现的。
请注意,“格式模式”是一个带引号的字符串:当您使用 GUI 构建格式时,JMP 会处理引号,但在使用公式或 JSL 编写自定义格式时必须包含引号。
以下是使用内置(本机)格式的 JSL Format( ) 命令的示例。请注意,此命令的语法为Format ( number , string ) ,其中string是本机格式:
格式(3683283977,“ddMonyyyy h:m:s”);
下面的自定义格式产生的输出与上面的原生格式相同。这里的语法是Format ( number , “Format Pattern”, string ),其中string是字段描述符和其他(文字)文本(如空格、冒号等)的集合。
格式(3683283977,“格式模式”,“
- ::");
字段描述符由尖括号分隔。任何未括在括号中的内容均视为纯文本,从而允许高度可自定义的输出:

使用 Informat ( ) 与 Format ( 的提示
Informat ( )函数用于将字符串转换为自 1904 年 1 月 1日以来的秒数。Informat ( ) 有 3 种方法可以实现此目的:
- 通过让 JMP 猜测格式。为此,仅使用原始字符串作为参数。由于可能存在歧义,有时这种方法有效,有时则无效:使用下面的代码,无法判断下面的日期应该代表 3 月 12 日还是 12 月 3 日。
- 通过使用用户通过添加格式字符串参数指定的内置格式。在这里,我们指定日期应表示为 3 月 12 日,而不是 12 月 3 日。
- 通过使用格式模式:
- 信息(“1995 年 2 月 3 日”,“格式模式”,“
/ / ”)
相反, Format ( )函数将数字转换为字符串,因此如果您在列公式中使用Format ( ) ,结果将是字符串,而不是数字。要格式化一列数字并在数据表中获取数字结果,您必须使用“列属性”对话框并使用 GUI 更改格式(参见下图),或者使用 JSL 向列发送<< Format ( )消息。例子: 打开 使用 conversions.jmp 的示例日期。此表包含许多正在使用的格式模式示例。 下表描述了每列的内容:柱子专栏笔记原始日期文本我们希望转换为连续日期的字符串(字符数据)。与 Informat 一起使用的格式模式执行此转换所需的格式模式。连续结果使用前两列作为输入的公式列,导致生成未格式化的日期(自 1904 年 1 月 1 日以来的秒数。)以标准格式显示结果日期,以内置格式显示。(列是连续的)使用格式模式显示的结果以自定义格式显示的日期。(列是连续的)使用格式模式将结果转换为字符串这里,我们使用列公式和 Format() 函数,将连续日期转换为自定义格式的字符串。(列为字符)秒的小数部分如果结果有秒的小数部分,则选择“是”。图形生成器由于格式或必要细节的原因,日期在图表生成器中的显示方式可能与数据表中的显示方式不同。要适应这种情况,请使用与列属性中相同的工具。可在相关轴的属性中找到。由于格式或必要细节的原因,日期在图表生成器中的显示方式可能与数据表中的显示方式不同。要适应这种情况,请使用与列属性中相同的工具。您可以在轴属性中访问它们,只需双击相关轴即可访问。此外,还有两种将日期分组的方式:分组或包装。分箱是指将同一个月或同一时间的所有元素按照日期和时间安排分组。例如,如果我要求按周进行分箱:每个日历周的所有数据都将分组在一起。换行允许您根据日期的特征将同一个月或同一时间的所有元素分组在一起。例如,如果我请求按周换行,数据将按天、星期一、星期二、星期三等分组。这使我能够查看日期是否对我的数据有影响。