Date.Parse(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
deprecated
尝试将字符串 s 解释为日期和时间的表示形式。
[Android.Runtime.Register("parse", "(Ljava/lang/String;)J", "")]
[System.Obsolete("deprecated")]
public static long Parse(string? s);
[<Android.Runtime.Register("parse", "(Ljava/lang/String;)J", "")>]
[<System.Obsolete("deprecated")>]
static member Parse : string -> int64
参数
- s
- String
要分析为日期的字符串。
返回
自 1970 年 1 月 1 日 00:00:00:00 GMT 以来的毫秒数,由字符串参数表示。
- 属性
注解
尝试将字符串 s 解释为日期和时间的表示形式。 如果尝试成功,则返回指示的时间表示为该时间的距离(1970 年 1 月 1 日格林尼治时间 00:00:00:00)。 如果尝试失败,则会引发一个 IllegalArgumentException 。
它接受许多语法;具体而言,它识别 IETF 标准日期语法:“Sat, 1995 年 8 月 12 日 13:30:00 GMT”。 它还了解美国大陆时区缩写,但一般使用时,应使用时区偏移:“星期六,1995年8月12日13:30:00 GMT+0430”(格林尼治时间以西4小时30分钟)。 如果未指定时区,则假定本地时区。 GMT 和 UTC 被视为等效项。
字符串 s 从左到右进行处理,查找感兴趣的数据。 其中的任何材料 s 都位于 ASCII 括号字符 ( 内,将被 ) 忽略。 括号可以嵌套。 否则,这些 ASCII 字符中允许 s 的唯一字符是: <blockquote>
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789,+-:/
</blockquote> 和空格字符。
连续的十进制数字序列被视为十进制数字:<ul><li>如果数字前面 + 或 - 已识别一年,则数字是时区偏移量。 如果数字小于 24,则表示以小时为单位的偏移量。 否则,它被视为以分钟为单位的偏移量,以 24 小时时间格式表示,不带标点。 前面的 - 表示向西偏移量。 时区偏移量始终相对于 UTC(格林威治)。 因此,例如, -5 在字符串中发生的意味着“格林威治以西五小时”,表示 +0430 “格林威治以东四小时三十分钟”。 允许字符串指定GMT、UTUTC冗余或冗余,例如 GMT-5utc+0430。
<如果>下列条件之一为 true,则数字被视为年份数字:<ul<>li>数字等于或大于 70,后跟空格、逗号、斜杠或字符串<结尾 li>数字小于 70,并且当月的一个月和一天都已识别</li></ul> 如果识别的年份编号小于 100, 它被解释为相对于一个世纪的缩写年份,日期在初始化 Date 类的时间之后的 80 年和 19 年内。 调整年份编号后,将减去 1900。 例如,如果当年为 1999 年,则假定 19 到 99 范围内的年份为 1919 到 1999 年,而从 0 到 18 年的年份假定为 2000 到 2018 年。 请注意,这与在中使用的 java.text.SimpleDateFormat年数小于 100 的解释略有不同。
<li>如果数字后跟冒号,则被视为一小时,除非已识别一小时,在这种情况下,它被视为一分钟。
<li>如果数字后跟斜杠,则被视为一个月(在范围011内生成数字减少 1),除非已识别一个月,在这种情况下,它被视为月的一天。
<li>如果数字后跟空格、逗号、连字符或字符串结尾,则如果已识别一小时但未识别一分钟,则被视为一分钟;否则,如果已识别一分钟但未识别秒,则被视为秒;否则,它被视为月份的一天。
</ul>
连续的字母序列被视为一个单词,并被视为如下:<ul<>li>A 单词,匹配AM,忽略大小写(但如果一小时未识别或小于1或大于12),分析将失败。
<li>A word that matches PM, ignoring case, adds 12 to the hour (but the parse failsse if an hour is not recognized or is than 112.
<li>任何匹配任何前缀 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY或 SATURDAY忽略大小写的单词将被忽略。 例如, sat, Friday, TUE被 Thurs 忽略。
<li>否则,匹配任何前缀 JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER或 DECEMBER忽略大小写的单词,并按此处给出的顺序将其视为指定一个月,并转换为数字(0 转换为 11数字)。 例如, aug, Sept, april并 NOV 被识别为月份。
Ma因此,它被识别为MARCH,而不是MAY。
<li>任何匹配 GMT, UT或 UTC忽略大小写的单词都被视为引用 UTC。
<li>任何与格林威治以西 5、6、7 或 8 小时相对应的 EST, CST, MST北美时区,或 PST忽略大小写的单词被识别为引用。 在夏令时,任何匹配 EDT, CDT, MDT或 PDT忽略大小写的单词将分别识别为引用同一时区。</ul>
扫描整个字符串后,它会转换为一个时间,这两种方式之一。 如果已识别时区或时区偏移量,则按 UTC 解释年、月、月、日、小时、分钟和秒,然后应用时区偏移量。 否则,本地时区将解释年、月、月、日、小时、分钟和秒。
此成员已弃用。 从 JDK 版本 1.1 起,替换为 DateFormat.parse(String s).
Java文档java.util.Date.parse(java.lang.String)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。