2017-09-25 4 views
-1

カレンダーアプリについてのデザインが欲しいです。 1477040400000Lが日付の種類である理由がわかりません。この日付タイプdd-mm-yyyyを使用しないのはなぜですか?あなたの例ではandroid -CompactCalendarView日付タイプ

Event ev1 = new Event(Color.BLUE, 1477040400000L, "Teachers' Professional Day"); 
compactCalendar.addEvent(ev1); 
+0

'1477040400000L'はUnixエポックからのミリ秒数です(' 1970-01-01T00は:00Z') 「2016-10-21T09:00Z」(または* 2016年10月21日、午前9時、UTC *)に相当します。http://currentmillis.com/?1477040400000 –

+1

ああ〜私の地平線を広げる!ありがとう! – user3818495

答えて

0

、値1477040400000LUnix Epoch(00:00:00 @すなわち1970年1月1日)からのミリ秒数を表します。長い整数は通常、日付の文字列表現(UTF-8と仮定した場合、8バイト対01​​バイト)よりもはるかに少ないメモリ空間を使用するため、日付は通常longとして格納されます。あなたは絶対に日付の文字列表現を使用する必要がある場合

、あなたはこれを試みることができる:

Event ev1 = null; 
try { 
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); 
    Date parsedDate = dateFormat.parse(yourDateAsString); 
    ev1 = new Event(Color.BLUE, parsedDate.getTime, "Teachers' Professional Day"); 
} catch(Exception e) { 
    // dateFormat.parse() could throw a ParseException 
} 

if (ev1 != null) { 
    compactCalendar.addEvent(ev1); 
} 
関連する問題