Mar*_*ner 3 coldfusion datetime
PayPal的IPN以此格式提供日期,该日期06:52:15 Apr 12, 2014 PDT不是有效的可识别格式.此外,指定时区; 我找不到可以占用时区的ColdFusion日期类.那么,转换格式和将时区转换为GMT(我的服务器的时区)的最短方法是什么.到目前为止我有这个......
arr3LA = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dev'];
arrDateParts = ListToArray( FORM.payment_date, ' ');
arrTimeParts = ListToArray( arrDateParts[1], ':' );
arrDateParts[3] = Replace(arrDateParts[3], ',', '', 'All');
objPayPalDateTime = CreateDateTime( arrDateParts[4], ArrayFind( arr3LA, arrDateParts[2]), arrDateParts[3], arrTimeParts[1], arrTimeParts[2], arrTimeParts[3] );
strLSFriendly = DateFormat( objPayPalDateTime, 'mmmm dd, yyyy' ) & ' ' & TimeFormat( objPayPalDateTime, 'h:mm:ss tt' ) & ' ' & arrDateParts[5];
objDateTime = LSParseDateTime( strLSFriendly );
strSQLFriendlyDateTime = DateFormat( objDateTime, 'yyyy-mm-dd hh:mm:ss' );
Run Code Online (Sandbox Code Playgroud)
你能改进吗?
我会说忘记在这里使用本机CFML,并利用java:
target = "06:52:15 Apr 12, 2014 PDT";
sdf = createObject("java", "java.text.SimpleDateFormat").init("hh:mm:ss MMM dd, yyyy zzz");
result = sdf.parse(target);
writeDump([{target=target},{result=result}]);
Run Code Online (Sandbox Code Playgroud)
这样做诀窍吗?
(注意:受这个问题的启发:如何将日期字符串解析为Date?)
| 归档时间: |
|
| 查看次数: |
735 次 |
| 最近记录: |