久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何在 SharedPreferences 中保存和檢索日期

How to save and retrieve Date in SharedPreferences(如何在 SharedPreferences 中保存和檢索日期)
本文介紹了如何在 SharedPreferences 中保存和檢索日期的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時(shí)送ChatGPT賬號..

我需要在 android 的 SharedPreferences 中保存一些日期并檢索它.我正在使用 AlarmManager 構(gòu)建提醒應(yīng)用程序,我需要保存未來日期列表.它必須能夠以毫秒為單位進(jìn)行檢索.首先,我想計(jì)算現(xiàn)在時(shí)間和未來時(shí)間之間的時(shí)間并存儲(chǔ)在共享偏好中.但該方法不起作用,因?yàn)槲倚枰獙⑺糜?AlarmManager.

I need to save a few dates in SharedPreferences in android and retrieve it. I am building reminder app using AlarmManager and I need to save list of future dates. It must be able to retrieve as milliseconds. First I thought to calculate time between today now time and future time and store in shared preference. But that method is not working since I need to use it for AlarmManager.

推薦答案

要保存和加載準(zhǔn)確的日期,可以使用 Datelong(數(shù)字)表示對象.

To save and load accurate date, you could use the long (number) representation of a Date object.

示例:

//getting the current time in milliseconds, and creating a Date object from it:
Date date = new Date(System.currentTimeMillis()); //or simply new Date();

//converting it back to a milliseconds representation:
long millis = date.getTime();

您可以使用它從 SharedPreferences 中保存或檢索 Date/Time 數(shù)據(jù),如下所示

You can use this to save or retrieve Date/Time data from SharedPreferences like this

保存:

SharedPreferences prefs = ...;
prefs.edit().putLong("time", date.getTime()).apply();

回讀:

Date myDate = new Date(prefs.getLong("time", 0));

編輯

如果你想額外存儲(chǔ) TimeZone,你可以為此編寫一些輔助方法,類似這樣(我沒有測試過它們,如果有問題,請隨時(shí)更正):

If you want to store the TimeZone additionaly, you could write some helper method for that purpose, something like this (I have not tested them, feel free to correct it, if something is wrong):

public static Date getDate(final SharedPreferences prefs, final String key, final Date defValue) {
    if (!prefs.contains(key + "_value") || !prefs.contains(key + "_zone")) {
        return defValue;
    }
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(prefs.getLong(key + "_value", 0));
    calendar.setTimeZone(TimeZone.getTimeZone(prefs.getString(key + "_zone", TimeZone.getDefault().getID())));
    return calendar.getTime();
}

public static void putDate(final SharedPreferences prefs, final String key, final Date date, final TimeZone zone) {
    prefs.edit().putLong(key + "_value", date.getTime()).apply();
    prefs.edit().putString(key + "_zone", zone.getID()).apply();
}

這篇關(guān)于如何在 SharedPreferences 中保存和檢索日期的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Parsing an ISO 8601 string local date-time as if in UTC(解析 ISO 8601 字符串本地日期時(shí)間,就像在 UTC 中一樣)
How to convert Gregorian string to Gregorian Calendar?(如何將公歷字符串轉(zhuǎn)換為公歷?)
Java: What/where are the maximum and minimum values of a GregorianCalendar?(Java:GregorianCalendar 的最大值和最小值是什么/在哪里?)
Calendar to Date conversion for dates before 15 Oct 1582. Gregorian to Julian calendar switch(1582 年 10 月 15 日之前日期的日歷到日期轉(zhuǎn)換.公歷到儒略歷切換)
java Calendar setFirstDayOfWeek not working(java日歷setFirstDayOfWeek不起作用)
Java: getting current Day of the Week value(Java:獲取當(dāng)前星期幾的值)
主站蜘蛛池模板: 国产a区 | 亚洲视频手机在线 | 亚洲人的av | 免费国产一区二区 | 日韩中文欧美 | 亚洲码欧美码一区二区三区 | 国产精品久久久久999 | 九一视频在线播放 | av在线播放网 | 九九热精品视频 | 免费色网址 | 亚洲一区免费在线 | 在线观看成人av | 免费精品| 久久久久久久久久久久久9999 | 成人午夜精品 | 久久精品亚洲精品国产欧美kt∨ | 亚洲一区视频在线 | 日本一区二区三区在线观看 | 亚洲精选一区 | 五月精品视频 | 91国内精品| 欧美一级淫片免费视频黄 | 国产一区欧美 | 亚洲大片 | 日韩精品在线一区 | 国产精品久久久久久久三级 | 青青草一区 | 最新国产精品 | 五月综合色啪 | 精品91久久 | a级在线免费视频 | 性网址| 天天插天天射天天干 | 国产综合在线视频 | 九九久久99 | 久久精品网 | 成人激情视频网 | 久综合 | 国产一区二区三区精品久久久 | 国产精品极品美女在线观看免费 |