关于饭否日期时间格式的解析

22 views
Skip to first unread message

Juguang XIAO

unread,
Feb 28, 2011, 10:05:45 PM2/28/11
to fanfo...@googlegroups.com
Open API中用到的日期时间格式,比如在 <created_at>Tue Mar 01 02:51:19 +0000
2011</created_at>, 是基于RFC822规范的一种形式。以下是Objective-C
和ActionScript3中的解析方法。
===================
Objective-C

NSString * ds = [status objectForKey: @"created_at"];
NSDateFormatter * df = [[NSDateFormatter alloc] init];
[df setDateFormat: @"EEE MMM dd HH:mm:ss z yyyy"];
[df setLocale: [[[NSLocale alloc]
initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
NSDate * d = [df dateFromString: ds];

==================
ActionScript3

var str:String = s['created_at'];
var d:Date = new Date( Date.parse(str));

Date.parse这个函数比较牛,可以自行解析以下格式。
MM/DD/YYYY HH:MM:SS TZD
HH:MM:SS TZD Day Mon/DD/YYYY
Mon DD YYYY HH:MM:SS TZD
Day Mon DD HH:MM:SS TZD YYYY
Day DD Mon HH:MM:SS TZD YYYY
Mon/DD/YYYY HH:MM:SS TZD
YYYY/MM/DD HH:MM:SS TZD

====================
如果你用别的语言,欢迎你把你的代码也拿出来晾晾~~


--
=============
Juguang XIAO
Beijing and Singapore

.rex

unread,
Mar 1, 2011, 1:34:56 AM3/1/11
to fanfo...@googlegroups.com, Juguang XIAO
python :

import time

def time_from_0_to_8(timestr,timezone=8):
    '''convert fanfou time string(from API) to readable string format.
       like:
       from: Sat Jan 03 23:08:54 +0000 2009
       to:   2009-01-04 07:08:54'''

    TIMEFORMAT="%a %b %d %X +0000 %Y"
    #Sat Jan 03 23:08:54 +0000 2009
    ISOTIMEFORMAT='%Y-%m-%d %X'
    x=time.strptime(timestr, TIMEFORMAT)
    m=time.mktime(x)+60*60*timezone
    p=time.strftime(ISOTIMEFORMAT,time.localtime(m))
    return p


rex.

------------------------------------
gtalk&email: r...@zhasm.com



2011/3/1 Juguang XIAO <jug...@gmail.com>
Reply all
Reply to author
Forward
0 new messages