转换指定 Pharo 8 中模式的日期字符串
Convert a date string specifying the pattern in Pharo 8
'04/30/2019' asDate
有效,但 '30/04/2019' asDate
失败,因为此日期的日期格式为 'dd/MM/yyyy'
格式。
如何在 Pharo 8 中指定不同的时间格式?
有几种方法可以从 String
得到 Date
。在你的情况下,一个可行的是以下
Date readFrom: '30/4/2019' readStream pattern: 'dd/m/yyyy'
模式中的'm'
也将匹配两位数的月份索引。如果您使用 'mm'
而不是您的月份索引必须有两位数,例如 '04'
.
DateAnTime
没有相似之处。但是您可以执行以下操作:
| stream |
stream := '30/4/2019 18:11:03' readStream.
date := Date readFrom: (stream upTo: $ ) readStream pattern: 'dd/m/yyyy'.
time := Time readFrom: stream.
^DateAndTime date: date time: time.
这使用流的第一部分(直到 space)作为日期,然后继续使用时间。请注意,流留在 space 旁边的字符处,这应该是时间开始的位置。
'04/30/2019' asDate
有效,但 '30/04/2019' asDate
失败,因为此日期的日期格式为 'dd/MM/yyyy'
格式。
如何在 Pharo 8 中指定不同的时间格式?
有几种方法可以从 String
得到 Date
。在你的情况下,一个可行的是以下
Date readFrom: '30/4/2019' readStream pattern: 'dd/m/yyyy'
模式中的'm'
也将匹配两位数的月份索引。如果您使用 'mm'
而不是您的月份索引必须有两位数,例如 '04'
.
DateAnTime
没有相似之处。但是您可以执行以下操作:
| stream |
stream := '30/4/2019 18:11:03' readStream.
date := Date readFrom: (stream upTo: $ ) readStream pattern: 'dd/m/yyyy'.
time := Time readFrom: stream.
^DateAndTime date: date time: time.
这使用流的第一部分(直到 space)作为日期,然后继续使用时间。请注意,流留在 space 旁边的字符处,这应该是时间开始的位置。