私はカレンダーからDateを受け取りたいと思っています。
しかし、Long型のUTCで帰ってきているのでDateに直せません
どのようにすればいいですか?
Java
1// 日付取得箇所 2final String[] EVENT_PROJECTION = new String[]{ 3 Events.CALENDAR_ID, 4 Events.ORGANIZER, 5 Events.ACCOUNT_NAME, 6 Events.TITLE, 7 Events.DESCRIPTION, 8 Events.DTSTART, 9 Events.DTEND 10}; 11ContentResolver cr = getContentResolver(); 12String selection = "(" + Events.ACCOUNT_TYPE + " = ?)"; 13String[] selectionArgs = new String[]{"com.google"}; 14if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CALENDAR) != ckageManager.PERMISSION_GRANTED) { 15 return; 16} 17Cursor cur = cr.query(Events.CONTENT_URI, EVENT_PROJECTION, null, null, null); 18adapter.getItemList().clear(); 19while(cur.moveToNext()){ 20 Toast.makeText(MainActivity.this,cur.getString(cur.getColumnIndex(Events.DTSTART)),Tot.LENGTH_SHORT).show(); 21 Item item = new Item(); 22 item.dtStartLong = cur.getLong(cur.getColumnIndex(Events.DTSTART)); 23 em.setAccountName(cur.getString(cur.getColumnIndex(Events.ACCOUNT_NAME))); 24 item.setId(cur.getString(cur.getColumnIndex(Events.CALENDAR_ID))); 25 item.setTitle(cur.getString(cur.getColumnIndex(Events.TITLE))); 26 item.setDetails(cur.getString(cur.getColumnIndex(Events.DESCRIPTION))); 27 item.setOrganizate(cur.getString(cur.getColumnIndex(Events.ORGANIZER))); 28 item.setDtStart(new Date(cur.getLong(cur.getColumnIndex(Events.DTSTART)))); 29 item.setDtEnd(new Date(cur.getLong(cur.getColumnIndex(Events.DTSTART)))); 30 adapter.getItemList().add(item); 31} 32 33 34 35// 文字列変換箇所 36public String getDtStartToString(){ 37 return String.valueOf(dtStart.getYear() + "年" + dtStart.getMonth()) + "月" + String.valueOf(dtStart.getDay()) + "日"; 38}
回答4件
あなたの回答
tips
プレビュー