--- /dev/null
+
+#ifndef DIAL_MODEL_HourMin_H
+#define DIAL_MODEL_HourMin_H
+
+#include "DialBaseModel.h"
+#include <cstdint>
+#include <string>
+#include <vector>
+
+namespace OHOS
+{
+ class DialModelHourMin : public DialBaseModel
+ {
+ public:
+ DialModelHourMin() {}
+ virtual ~DialModelHourMin() {}
+ static DialModelHourMin *GetInstance()
+ {
+ static DialModelHourMin instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float *&out, int16_t len) override;
+ void UpdateHourMin(const std::string *&dialHourMin);
+
+ private:
+ float dialhourmin{2};
+ };
+}
+#endif
\ No newline at end of file
--- /dev/null
+
+#ifndef DIAL_MODEL_HourTens_H
+#define DIAL_MODEL_HourTens_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+ class DialModelHourTens : public DialBaseModel
+ {
+ public:
+ DialModelHourTens() {}
+ ~DialModelHourTens() override {}
+ static DialModelHourTens *GetInstance()
+ {
+ static DialModelHourTens instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateHourTens();
+
+ private:
+ struct tm tblock_;
+ uint8_t hour_tens;
+ };
+}
+#endif
--- /dev/null
+
+
+#ifndef DIAL_MODEL_HourUnits_H
+#define DIAL_MODEL_HourUnits_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+ class DialModelHourUnits : public DialBaseModel
+ {
+ public:
+ DialModelHourUnits() {}
+ ~DialModelHourUnits() override {}
+ static DialModelHourUnits *GetInstance()
+ {
+ static DialModelHourUnits instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateHourUnits();
+
+ private:
+ struct tm tblock_;
+ uint8_t hour_units;
+
+ };
+}
+#endif
--- /dev/null
+
+#ifndef DIAL_MODEL_MinTens_H
+#define DIAL_MODEL_MinTens_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+ class DialModelMinTens : public DialBaseModel
+ {
+ public:
+ DialModelMinTens() {}
+ ~DialModelMinTens() override {}
+ static DialModelMinTens *GetInstance()
+ {
+ static DialModelMinTens instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateMinTens();
+
+ private:
+ struct tm tblock_;
+ uint8_t min_tens;
+ };
+}
+#endif
--- /dev/null
+
+
+#ifndef DIAL_MODEL_MinUnits_H
+#define DIAL_MODEL_MinUnits_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS
+{
+ class DialModelMinUnits : public DialBaseModel
+ {
+ public:
+ DialModelMinUnits() {}
+ ~DialModelMinUnits() override {}
+ static DialModelMinUnits *GetInstance()
+ {
+ static DialModelMinUnits instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateMinUnits();
+
+ private:
+ struct tm tblock_;
+ uint8_t min_units;
+ };
+}
+#endif
--- /dev/null
+/***
+ * @Date: 2024-08-08 16:15:49
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 16:28:43
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourMin.cpp
+ */
+#include "RegisterDialModel.h"
+#include "DialModelHourMin.h"
+#include <string>
+#include <ctime>
+#include <time.h>
+#include "sys/time.h"
+#include "wearable_log.h"
+#include <vector>
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_HOUR_MIN, OHOS::DialModelHourMin::GetInstance());
+namespace OHOS
+{
+ /*继承的虚函数 不能修改*/
+ bool DialModelHourMin::GetDialFloatData(DialDataType &type, float *&out, int16_t len)
+ {
+ (void)type;
+
+ struct tm local_time = {0};
+ time_t seconds = time(nullptr);
+
+ if (localtime_r(&seconds, &local_time) == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "get localtime error!");
+ return false;
+ }
+
+ out[0] = static_cast<float>(local_time.tm_hour);
+ out[1] = static_cast<float>(local_time.tm_min);
+ printf("GetDialFloatData %f %f\r\n", out[0], out[1]);
+ len = 2;
+ return true;
+ }
+
+ void DialModelHourMin::UpdateHourMin(const std::string *&dialHourMin)
+ {
+ // dialdateStr_.clear();
+ // dialdateStr_ = *dialHourMin; // 更新字符串
+ // if (onChangeListener_ != nullptr)
+ // {
+ // onChangeListener_->OnDialTextDataUpdate(DialDataType::DialModelMinUnits, &dialdateStr_, dialdateStr_.size());
+ // }
+ }
+}
\ No newline at end of file
--- /dev/null
+/***
+ * @Date: 2024-08-08 15:01:28
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:13:46
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp
+ */
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelHourTens.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_HOUR_TENS, OHOS::DialModelHourTens::GetInstance());
+
+namespace OHOS
+{
+
+ bool DialModelHourTens::GetDialFloatData(DialDataType &type, float &out)
+ {
+ (void)type;
+ struct timeval tv;
+ gettimeofday(&tv, NULL); // 获取当前时间
+ localtime_r(&tv.tv_sec, &tblock_);
+ hour_tens = tblock_.tm_hour / 10; // 小时十位
+
+ out = static_cast<float>(hour_tens);
+
+ return true;
+ }
+
+}
\ No newline at end of file
--- /dev/null
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelHourUnits.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_HOUR_UNITS, OHOS::DialModelHourUnits::GetInstance());
+
+namespace OHOS
+{
+
+ bool DialModelHourUnits::GetDialFloatData(DialDataType &type, float &out)
+ {
+ (void)type;
+ struct timeval tv;
+ gettimeofday(&tv, NULL); // 获取当前时间
+ localtime_r(&tv.tv_sec, &tblock_);
+ hour_units = tblock_.tm_hour % 10; // 小时十位
+
+ out = static_cast<float>(hour_units);
+
+ return true;
+ }
+}
\ No newline at end of file
--- /dev/null
+/***
+ * @Date: 2024-08-08 15:02:25
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:12:41
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp
+ */
+/***
+ * @Date: 2024-08-08 15:01:28
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:10:38
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinTens.cpp
+ */
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelMinTens.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_MINUTE_TENS, OHOS::DialModelMinTens::GetInstance());
+
+namespace OHOS
+{
+
+ bool DialModelMinTens::GetDialFloatData(DialDataType &type, float &out)
+ {
+ (void)type;
+ struct timeval tv;
+ gettimeofday(&tv, NULL); // 获取当前时间
+ localtime_r(&tv.tv_sec, &tblock_);
+ min_tens = tblock_.tm_min / 10; // 分钟十位
+
+ out = static_cast<float>(min_tens);
+
+ return true;
+ }
+}
\ No newline at end of file
--- /dev/null
+/***
+ * @Date: 2024-08-08 15:02:35
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-08 15:12:59
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelMinUnits.cpp
+ */
+
+#include <sys/time.h>
+#include "RegisterDialModel.h"
+#include "DialModelMinUnits.h"
+#include "custom_runtime.h"
+
+// 注册模块
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_MINUTE_UNITS, OHOS::DialModelMinUnits::GetInstance());
+
+namespace OHOS
+{
+
+ bool DialModelMinUnits::GetDialFloatData(DialDataType &type, float &out)
+ {
+ (void)type;
+ struct timeval tv;
+ gettimeofday(&tv, NULL); // 获取当前时间
+ localtime_r(&tv.tv_sec, &tblock_);
+ min_units = tblock_.tm_hour % 10; // 小时十位
+
+ out = static_cast<float>(min_units);
+
+ return true;
+ }
+}
\ No newline at end of file