Flex——字符串转日期函数

本文介绍了一个自定义的字符串到日期的转换函数,该函数能够处理多种常见的日期格式,包括但不限于 yyyyMMdd、yyyy-MM-dd 以及 MM/dd/yyyy 等。通过对输入字符串的关键特征进行分析,函数能准确地解析出日期并返回对应的 Date 对象。

自定义字符串转日期的函数,支持常用的丰富的日期格式

/**

* 字符串转成日期,支持格式:

* yyyyMMdd

* yyyyMMddHH

* yyyyMMddHHmm

* yyyyMMddHHmmss

* yyyy-MM-dd("-"作判断关键字)

* yyyy-MM-dd HH("-"作判断关键字)

* yyyy-MM-dd HH("-"作判断关键字)

* yyyy-MM-dd HH:mm ("-"作判断关键字)

* yyyy-MM-dd HH:mm:ss("-"作判断关键字)

* yyyy年MM月dd日("年"作判断关键字)

* yyyy年MM月dd日HH时("年"作判断关键字)

* yyyy年MM月dd日HH时mm分("年"作判断关键字)

* yyyy年MM月dd日HH时mm分ss秒("年"作判断关键字)

* MM/dd/yyyy(例如,"02/01/2005")

* MM/dd/yyyy HH:mm:ss

* MM/yyyy dd(例如,"02/2005 23")

* Day Month Date Hours:Minutes:Seconds GMT Year(例如,"Tue Feb 1 00:00:00 GMT-0800 2005",这与 toString() 一致)

* Day Month Date Year Hours:Minutes:Seconds AM/PM(例如,"Tue Feb 1 2005 12:00:00 AM",这与 toLocaleString() 一致)

* Day Month Date Year Hours:Minutes:Seconds(例如,"Tue Feb 1 2005 23:59:59")

* Day Month Date Year(例如,"Tue Feb 1 2005",这与 toDateString() 一致)

*/

public static function ParseDate(value:String):Date

{

if (!value)

return new Date();

var year:Number;

var month:Number;

var date:Number;

var h:Number = 0;

var m:Number = 0;

var s:Number = 0;

var ms:Number = 0;

/*

* yyyyMMdd

* yyyyMMddHH

* yyyyMMddHHmm

* yyyyMMddHHmmss

*/

if(!isNaN(Number(value)) && value.length >= 8)

{

year = Number(value.substr(0, 4));

month = Number(value.substr(4, 2)) -1;

date = Number(value.substr(6, 2));

if(value.length>=10)

h = Number(value.substr(8, 2));

if(value.length>=12)

m = Number(value.substr(10, 2));

if(value.length>=14)

s = Number(value.substr(12, 2));

return new Date(year, month, date,h,m,s,ms);

}

/*

* yyyy-MM-dd("-"作判断关键字)

* yyyy-MM-dd HH("-"作判断关键字)

* yyyy-MM-dd HH("-"作判断关键字)

* yyyy-MM-dd HH:mm ("-"作判断关键字)

* yyyy-MM-dd HH:mm:ss("-"作判断关键字)

* yyyy年MM月dd日("年"作判断关键字)

* yyyy年MM月dd日HH时("年"作判断关键字)

* yyyy年MM月dd日HH时mm分("年"作判断关键字)

* yyyy年MM月dd日HH时mm分ss秒("年"作判断关键字)

*/

if(value.indexOf("-")>0 || value.indexOf("年")>0)

{

var match:Array = value.match( //d+/g );

year = Number(match[0]);

month = Number(match[1]) -1;

date = Number(match[2]);

if(match.length>3)

h = Number(match[3]);

if(match.length>4)

m = Number(match[4]);

if(match.length>5)

s = Number(match[5]);

return new Date(year, month, date,h,m,s,ms);

}

/*

* MM/dd/yyyy(例如,"02/01/2005")

* MM/dd/yyyy HH:mm:ss

* MM/yyyy dd(例如,"02/2005 23")

* Day Month Date Hours:Minutes:Seconds GMT Year(例如,"Tue Feb 1 00:00:00 GMT-0800 2005",这与 toString() 一致)

* Day Month Date Year Hours:Minutes:Seconds AM/PM(例如,"Tue Feb 1 2005 12:00:00 AM",这与 toLocaleString() 一致)

* Day Month Date Year Hours:Minutes:Seconds(例如,"Tue Feb 1 2005 23:59:59")

* Day Month Date Year(例如,"Tue Feb 1 2005",这与 toDateString() 一致)

*/

return new Date(value);

}

测试通过的例子:

TestDate("20111213");

TestDate("2011121323");

TestDate("201112132359");

TestDate("20111213235959");

TestDate("2011-12-13");

TestDate("2011-12-13 23");

TestDate("2011-12-13 23:59");

TestDate("2011-12-13 23:59:59");

TestDate("2011年12月13日");

TestDate("2011年12月13日23时");

TestDate("2011年12月13日23时59分");

TestDate("2011年12月13日23时59分59秒");

TestDate("12/13/2011");

TestDate("12/13/2011 23:59:59");

TestDate("12/2011 23");

TestDate("Fri Dec 23 00:00:00 GMT+0800 2011");

TestDate("Fri Dec 23 23:00:00 GMT+0800 2011");

TestDate("Fri Dec 23 23:59:00 GMT+0800 2011");

TestDate("Fri Dec 23 23:59:59 GMT+0800 2011");

TestDate("Fri Dec 23 2011 12:00:00 AM");

TestDate("Fri Dec 23 2011 11:00:00 PM");

TestDate("Fri Dec 23 2011 11:59:00 PM");

TestDate("Fri Dec 23 2011 11:59:59 PM");

TestDate("Fri Dec 23 2011 00:00:00");

TestDate("Fri Dec 23 2011 23:00:00");

TestDate("Fri Dec 23 2011 23:59:00");

TestDate("Fri Dec 23 2011 23:59:59");

TestDate("Fri Dec 23 2011");

本文档旨在帮助开发者搭建STM8单片机的开发环境,并创建基于标准库的工程项目。通过本文档,您将了解如何配置开发环境、下载标准库、创建工程以及进行基本的工程配置。 1. 开发环境搭建 1.1 软件准备 IAR Embedded Workbench for STM8: 这是一个集成开发环境,具有高度优化的C/C++编译器和全面的C-SPY调试器。它为STM8系列微控制器提供全面支持。 STM8标准库: 可以从STM官网下载最新的标准库文件。 1.2 安装步骤 安装IAR: 从官网下载并安装IAR Embedded Workbench for STM8。安装过程简单,按照提示点击“下一步”即可完成。 注册IAR: 注册过程稍微繁琐,但为了免费使用,需要耐心完成。 下载STM8标准库: 在STM官网搜索并下载最新的标准库文件。 2. 创建标准库工程 2.1 工程目录结构 创建工作目录: 在自己的工作目录下创建一个工程目录,用于存放IAR生成的文件。 拷贝标准库文件: 将下载的标准库文件拷贝到工作目录中。 2.2 工程创建步骤 启动IAR: 打开IAR Embedded Workbench for STM8。 新建工程: 在IAR中创建一个新的工程,并将其保存在之前创建的工程目录下。 添加Group: 在工程中添加几个Group,分别用于存放库文件、自己的C文件和其他模块的C文件。 导入C文件: 右键Group,导入所需的C文件。 2.3 工程配置 配置芯片型号: 在工程选项中配置自己的芯片型号。 添加头文件路径: 添加标准库的头文件路径到工程中。 定义芯片宏: 在工程中定义芯片相关的宏。 3. 常见问题与解决方案 3.1 编译错误 错误1: 保存工程时报错“ewp could not be written”。 解决方案: 尝试重新创建工程,不要在原路径下删除工程文件再创建。 错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值