[英]How can i get current date and time in android and store it into string
[英]Android - How can I store Date/Time to my database?
我試圖關注這篇文章,但我不知道如何將我的數據存儲在iso8601格式中,因為我沒有從timepicker接口獲得任何“秒”輸入,我可以將“0000”附加到字符串構建器的末尾?
該帖子還使用SimpleDateFormat(),僅支持API 24。 我的最低API級別是19.它是否有相同的功能?
Java代碼:
public void saveExam() {
date = (DatePicker)findViewById(R.id.examDate);
Integer day = date.getDayOfMonth();
Integer month = date.getMonth();
Integer year = date.getYear();
time = (TimePicker)findViewById(R.id.examTime);
Integer hour, minutes;
if (Build.VERSION.SDK_INT >= 23 ) {
hour = time.getHour();
minutes = time.getMinute();
} else {
hour = time.getCurrentHour();
minutes = time.getCurrentMinute();
}
StringBuilder temp = new StringBuilder();
temp.append(year.toString()).append("-").append(month.toString()).append("-").append(day.toString())
.append(" ").append(hour).append(":").append(minutes);
Toast.makeText(add_exam.this, temp, Toast.LENGTH_LONG).show();
}
也有人也可以向我解釋這部分代碼,這是我第一次看到標志:
if (date != null) {
long when = date.getTime();
int flags = 0;
flags |= android.text.format.DateUtils.FORMAT_SHOW_TIME;
flags |= android.text.format.DateUtils.FORMAT_SHOW_DATE;
flags |= android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
flags |= android.text.format.DateUtils.FORMAT_SHOW_YEAR;
finalDateTime = android.text.format.DateUtils.formatDateTime(context,
when + TimeZone.getDefault().getOffset(when), flags);
標志用於設置格式輸出,以傳遞到DateUtils.formateDateTime
方法的時間(以毫秒為DateUtils.formateDateTime
。 它們代表位掩碼的一部分。 在這里,您可以在DateUtils
看到用於格式化日期的不同標志值。
例如:
DateUtils.FORMAT_SHOW_TIME = 1; // 1 binary representation
DateUtils.FORMAT_SHOW_WEEKDAY = 2; // 10 binary representation
DateUtils.FORMAT_SHOW_YEAR = 4; // 100 binary representation
...
如果你有3
,那么它將是11
,這意味着將應用DateUtils.FORMAT_SHOW_TIME
和DateUtils.FORMAT_SHOW_WEEKDAY
,你會得到類似這樣的結果:“星期六晚上11點04分”。
如果你有5
,那么它將是101
,這意味着將應用DateUtils.FORMAT_SHOW_TIME
和DateUtils.FORMAT_SHOW_YEAR
。 但不是像“2016年下午11:04”這樣的東西,你將有“晚上11:04”。 因此,據我所知,組合標志時會發生一些沖突。
基本上,有下一個組合標志和相應輸出的例子:
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME) = "10:58pm"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE) = "September 17"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_ABBREV_MONTH) = "Sep 17"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_YEAR) = "September 17, 2016"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE) = "September 17, 2016"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_ABBREV_MONTH) = "Sep 17, 2016"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_ABBREV_MONTH | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME) = "11:00pm, Sep 17, 2016"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_MONTH) = "Sep 17"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_YEAR) = "11:03pm"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_WEEKDAY) = "11:04pm, Saturday"
DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE) = "11:04pm, September 17"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.