以下のように local の default time zone とし
Time#set を time zone 設定の後にするといいでしょう
//values.put("eventTimezone",Time.TIMEZONE_UTC);
values.put("eventTimezone",TimeZone.getDefault().getDisplayName(Locale.ENGLISH));
// ...
Time times = new Time();
//times.set(date.getTime());
//times.timezone = Time.TIMEZONE_UTC;
times.timezone = TimeZone.getDefault().getDisplayName(Locale.ENGLISH);
times.set(date.getTime());
---
// TAO Seiichiroh <tao19...@gmail.com>
10/09/01 PONTA <m.pont...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
>
>
「終日」については切り離して、まずは時間のズレから治しましょう
短いコードですので下記に全て載せましたが
これで指定した通りにカレンダー登録できました
package jp.com.android.sample;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import java.util.Locale;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class SampleCalendarActivity extends Activity {
private long startLongDay;
private long endLongDay;
private Uri calUri;
private Context mContext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = this;
Button entry = (Button) findViewById(R.id.Button01);
entry.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
calUri = Uri.parse("content://calendar/events");
ContentValues values = new ContentValues();
ContentResolver cr = SampleCalendarActivity.this.getContentResolver();
startLongDay = SampleCalendarActivity.this.getLongDay("2010-09-18 00:00:00");
endLongDay = SampleCalendarActivity.this.getLongDay("2010-09-19 00:00:00");
values.put("calendar_id",1);
values.put("title","title");
values.put("eventLocation","location");
values.put("description","content");
values.put("dtstart",startLongDay);
values.put("dtend",endLongDay);
//values.put("eventTimezone",Time.TIMEZONE_UTC);
values.put("eventTimezone",TimeZone.getDefault().getDisplayName(Locale.ENGLISH));
/*
values.put("allDay",1);
values.put("eventStatus",1);
values.put("visibility","");
values.put("transparency","");
values.put("hasAlarm","0");
values.put("rrule","FREQ=WEEKLY;BYDAY=SU");
values.put("duration",addRecurrenceRule(1));
*/
values.put("allDay",0);
values.put("hasAlarm","0");
cr.insert(calUri,values);
Toast.makeText(mContext,"registered",Toast.LENGTH_SHORT).show();
}
});
}
public long getLongDay(String str){
long time=0;
try{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(str);
Time times = new Time();
//times.set(date.getTime());
//times.timezone = Time.TIMEZONE_UTC;
times.timezone = TimeZone.getDefault().getDisplayName(Locale.ENGLISH);
times.set(date.getTime());
time = times.normalize(true);
}catch (Exception e){
e.printStackTrace();
}
return time;
}
}
10/09/15 PONTA <m.pont...@gmail.com>: