为了在SQLite数据库中存储Calendar对象,我发现最简单的方法是将Calendar对象转换为字符串并将其作为文本存储在数据库中.
现在,问题在于从字符串中提取存储的日期.
如何解析包含Calendar对象的字符串并将其设置为Calendar值?
我的代码是:
String CREATE_DOCTORS_TABLE = "CREATE TABLE " + TABLE_DOCTORS + "("
+ KEY_ID_DOC + " INTEGER PRIMARY KEY," + KEY_DOCTOR_NAME + " TEXT,"
+ KEY_CLINIC_ADDRESS + " TEXT," + KEY_LAST_CHECKUP + " TEXT" + ");";
db.execSQL(CREATE_DOCTORS_TABLE);
Run Code Online (Sandbox Code Playgroud)
其中KEY_LAST_CHECKUP包含如下值:
java.util.GregorianCalendar[time=?,areFieldsSet=false,lenient=true,zone=Asia/Calcutta,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2013,MONTH=4,WEEK_OF_YEAR=29,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=198,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=19,SECOND=47,MILLISECOND=823,ZONE_OFFSET=19800000,DST_OFFSET=0]
Run Code Online (Sandbox Code Playgroud)
我用这种方式将它存储在数据库中:
values.put(KEY_LAST_CHECKUP, (doctor.getLastCheckUpDate().toString())); // last check up date
Run Code Online (Sandbox Code Playgroud)
现在,我如何从存储的字符串中检索DAY,MONTH和YEAR?
我在这里阅读有关如何将日期字符串转换为日历对象的方法: 如何将日期字符串转换为日期或日历对象?
但我的字符串不只是一个日期字符串.它还包含许多其他细节.
前进的最佳方式是什么?
我正在使用Caldroid Lib在我的Android App中创建一个自定义日历,我需要从我的Web服务器加载数据,我有一个asynctask填充HashMap然后我把这些数据放在这样的arraylist中:
class Asistencia extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Objects from the given URL address
jsonobject = JSONfunctions
.getJSONfromURL("http://www.gettford.net/comunidad/api/calendario.php?usuarioID="
+ usuarioID);
if (jsonobject != null && jsonobject.length() > 0) {
try {
// Locate the array name in JSON
jsonarray = jsonobject.getJSONArray("datos");
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON …Run Code Online (Sandbox Code Playgroud) 我知道可以这样删除记录:
getContentResolver().delete(Events.CONTENT_URI, Events._ID + " =? ", eventId);
Run Code Online (Sandbox Code Playgroud)
其中 eventId 是String array包含(在本例中为事件)的 ID。就我而言,我不想删除一个事件,而是多个事件。所以我有一个包含多个 eventId 的 eventId 数组。我当然可以循环遍历数组并一一删除事件,但是是否也可以仅使用一次调用来删除它们?
我尝试了以下代码,但它在android中被弃用了
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
try {
Date date1 = simpleDateFormat.parse("11/20/2014 8:10:00 AM");
Log.e("date", "" + date1.getYear());
Log.e("month", "" + date1.getmonth());
Log.e("year", "" + date1.getYear());
Log.e("hour", "" + date1.getHours());
Log.e("minutes", "" + date1.getMinutes());
Log.e("seconds", "" + date1.getSeconds());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
它已被弃用如何使用日历并获得日,月,年?
你好,我对 Andriod 还很陌生。我有三个活动 AB C。A 是 MainActivity B 和 C 是独立活动。我在 mainActivity 中包含了一个日历,并突出显示了一些日期。
现在通过 mainActivity 我启动一个新的活动 B 并使用以下代码返回到 A
public void OnClick(View V){
Intent i= new Intent(getApplicationContext(),A.class);
i.setFlags(Imtent.FLAG_ACTVITIY_CLEAR_TOP);
startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)
这将返回到 mainActivity,但突出显示的日期不在那里。我想知道是否创建了一个全新的活动,或者我在突出显示这些日子时做错了什么。
嗨,我正在制作一个约会应用程序,我使用firebase 数据库作为我的后端。
我想限制用户选择以前的日期。我从这里得到了解决方案
但我不知道把代码放在哪里才能让它工作。我把我的代码放在下面,请指导我做同样的事情......
另一个问题是,如果用户改变系统日期和时间将在日期选择日期也改变了,有什么办法,我可以限制用户选择当前日期或明天的日期只,但不是昨天的日期。
例如。取 ServerValue.TIMESTAMP 并将其转换为日期,然后比较所选日期和从 TIMESTAMP 获得的日期。
约会.java
/**
* A simple {@link Fragment} subclass.
*/
public class Appointment extends Fragment {
@BindView(R.id.apointFirstName)
EditText apointFirstName;
@BindView(R.id.apointLastName)
EditText apointLastName;
@BindView(R.id.apointPhoneNumber)
EditText apointPhoneNumber;
@BindView(R.id.apointEmail)
EditText apointEmail;
@BindView(R.id.apointDate)
EditText apointDate;
@BindView(R.id.availTimeSpinner)
Spinner availTimeSpinner;
@BindView(R.id.bookAppointmentButton)
Button book_btn;
@BindView(R.id.cancelAppointmentButton)
Button cancel_btn;
Calendar mCal;
int day, month, year;
String mCurrentDate;
String fname,lname,email;
int phone;
String timestamp = String.valueOf(ServerValue.TIMESTAMP);
public Appointment() {
// Required …Run Code Online (Sandbox Code Playgroud) 我正在使用这个库CalnderView任何人都知道如何获取该月的结束日期和最后日期吗?
作为输入,我得到一个类似 HH:mm 的字符串,它是 UTC。但我需要将时间转换为+3小时(即UTC+3)。
例如,原来是 12:30 - 现在变成了 15:30。
我尝试了这段代码,但它不起作用:(
fun String.formatDateTime(): String {
val sourceFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
sourceFormat.timeZone = TimeZone.getTimeZone("UTC")
val parsed = sourceFormat.parse(this)
val tz = TimeZone.getTimeZone("UTC+3")
val destFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
destFormat.timeZone = tz
return parsed?.let { destFormat.format(it) }.toString()
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
android simpledateformat timezone-offset android-calendar kotlin
我正在尝试在Android应用程序的日历中实现查找和选择事件.我相信,查找和选择有完全不同的实现.
我在网上搜索无济于事.我很感激你的帮助.
我尝试过访问Android手机上的日历,但我的代码都没有用,是否有人确切知道,如何在指定的时间范围内阅读/查询日历事件?
android ×10
android-calendar ×10
java ×3
calendar ×2
android-date ×1
date ×1
datetime ×1
hashmap ×1
kotlin ×1
sql ×1