日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 代码 日历 重复事件设置,日历重复/重复事件 - 最佳存储方法

發布時間:2024/4/14 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 代码 日历 重复事件设置,日历重复/重复事件 - 最佳存储方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于所有對此感興趣的人,現在您只需復制并粘貼即可在幾分鐘內開始使用。我盡可能地在評論中接受了建議。如果我遺失了某些東西,請告訴我。

“復雜版本”:

事件

+ ---------- + ---------------- +

| ID | NAME |

+ ---------- + ---------------- +

| 1 | 示例事件1 |

| 2 | 第二次活動|

| 3 | 第三次活動|

+ ---------- + ---------------- +

events_meta

+ ---- + ---------- + -------------- + ------------------ + ------------- + -------------- + ------------ + ------- ------ + ---------------- +

| ID | event_id | repeat_start | repeat_interval | repeat_year | repeat_month | repeat_day | repeat_week | repeat_weekday |

+ ---- + ---------- + -------------- + ------------------ + ------------- + -------------- + ------------ + ------- ------ + ---------------- +

| 1 | 1 | 2014-07-04 | 7 | NULL | NULL | NULL | NULL | NULL |

| 2 | 2 | 2014-06-26 | NULL | 2014 | * | * | 2 | 5 |

| 3 | 3 | 2014-07-04 | NULL | * | * | * | * | 5 |

+ ---- + ---------- + -------------- + ------------------ + ------------- + -------------- + ------------ + ------- ------ + ---------------- +

SQL代碼:

CREATE TABLE IF NOT EXISTS `events` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`NAME` varchar(255) NOT NULL,

PRIMARY KEY (`ID`)

) ENGINE=MyISAM? DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

--

-- Dumping data for table `events`

--

INSERT INTO `events` (`ID`, `NAME`) VALUES

(1, 'Sample event'),

(2, 'Another event'),

(3, 'Third event...');

CREATE TABLE IF NOT EXISTS `events_meta` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`event_id` int(11) NOT NULL,

`repeat_start` date NOT NULL,

`repeat_interval` varchar(255) NOT NULL,

`repeat_year` varchar(255) NOT NULL,

`repeat_month` varchar(255) NOT NULL,

`repeat_day` varchar(255) NOT NULL,

`repeat_week` varchar(255) NOT NULL,

`repeat_weekday` varchar(255) NOT NULL,

PRIMARY KEY (`ID`),

UNIQUE KEY `ID` (`ID`)

) ENGINE=MyISAM? DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

--

-- Dumping data for table `events_meta`

--

INSERT INTO `events_meta` (`ID`, `event_id`, `repeat_start`, `repeat_interval`, `repeat_year`, `repeat_month`, `repeat_day`, `repeat_week`, `repeat_weekday`) VALUES

(1, 1, '2014-07-04', '7', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL'),

(2, 2, '2014-06-26', 'NULL', '2014', '*', '*', '2', '5'),

(3, 3, '2014-07-04', 'NULL', '*', '*', '*', '*', '1');

也可用作MySQL導出(便于訪問)

PHP示例代碼index.php:

require 'connect.php';

$now = strtotime("yesterday");

$pushToFirst = -11;

for($i = $pushToFirst; $i < $pushToFirst+30; $i++)

{

$now = strtotime("+".$i." day");

$year = date("Y", $now);

$month = date("m", $now);

$day = date("d", $now);

$nowString = $year . "-" . $month . "-" . $day;

$week = (int) ((date('d', $now) - 1) / 7) + 1;

$weekday = date("N", $now);

echo $nowString . "
";

echo $week . " " . $weekday . "
";

$sql = "SELECT EV.*

FROM `events` EV

RIGHT JOIN `events_meta` EM1 ON EM1.`event_id` = EV.`id`

WHERE ( DATEDIFF( '$nowString', repeat_start ) % repeat_interval = 0 )

OR (

(repeat_year = $year OR repeat_year = '*' )

AND

(repeat_month = $month OR repeat_month = '*' )

AND

(repeat_day = $day OR repeat_day = '*' )

AND

(repeat_week = $week OR repeat_week = '*' )

AND

(repeat_weekday = $weekday OR repeat_weekday = '*' )

AND repeat_start <= DATE('$nowString')

)";

foreach ($dbConnect->query($sql) as $row) {

print $row['ID'] . "\t";

print $row['NAME'] . "
";

}

echo "
";

}

?>

PHP示例代碼connect.php:

// ----------------------------------------------------------------------------------------------------

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Connecting to database

// ----------------------------------------------------------------------------------------------------

// Database variables

$username = "";

$password = "";

$hostname = "";

$database = "";

// Try to connect to database and set charset to UTF8

try {

$dbConnect = new PDO("mysql:host=$hostname;dbname=$database;charset=utf8", $username, $password);

$dbConnect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {

echo 'ERROR: ' . $e->getMessage();

}

// ----------------------------------------------------------------------------------------------------

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? / Connecting to database

// ----------------------------------------------------------------------------------------------------

?>

此處還提供了php代碼(為了更好的可讀性):

index.php

connect.php

現在設置它應該需要幾分鐘。不是幾個小時 :)

總結

以上是生活随笔為你收集整理的android 代码 日历 重复事件设置,日历重复/重复事件 - 最佳存储方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。