使用Python打造高颜值系统时间控制器

 更新时间:2026年03月12日 09:50:23   作者:创客白泽  
这篇文章主要介绍了一款基于PyQt5开发的高颜值系统时间管理工具,具备现代化Fluent UI界面和六大核心功能模块,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

一、概述:当时间管理遇上现代UI

在日常开发中,我们经常需要精确控制系统时间,但Windows自带的时间设置工具实在太简陋了!今天我要分享的是用PyQt5开发的高颜值时间控制器,它不仅颜值在线,还具备:

  • 现代化Fluent Design界面
  • 实时时间显示(精确到秒)
  • 可视化时间修改(带日历控件)
  • NTP网络时间同步模拟
  • 智能权限检测(自动识别管理员权限)

技术亮点:本项目的界面设计参考了Windows 11的Fluent UI设计规范,采用QSS实现深度样式定制,是学习PyQt5现代化开发的绝佳案例!

二、功能全景:六大核心模块解析

2.1 实时时钟模块

class ModernTerminalLabel(QLabel):
    """🔄 动态时钟标签"""
    def __init__(self):
        self.setStyleSheet("""
            background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
                          stop:0 #3498db, stop:1 #2c3e50);
            border-radius: 10px;
            color: white;
            padding: 15px;
        """)

自定义渐变效果时钟标签

2.2 时间设置模块

功能特点:

  •  集成QDateTimeEdit控件
  • 带弹出式日历选择
  • 自动检测管理员权限

2.3 NTP同步模块

支持服务器列表:

  • pool.ntp.org(默认)
  • time.google.com(谷歌)
  • time.windows.com(微软)
  • ntp.aliyun.com(阿里云)

三、效果展示:眼见为实

3.1 主界面(Light模式)

3.2 帮助页面展示

3.3 时间同步演示

四、手把手实现教程

4.1 环境准备

pip install PyQt5==5.15.9 pywin32

4.2 核心类结构

4.3 关键代码解析

时间修改功能

def change_datetime(self):
    try:
        # 🛡️ 权限检查
        if not ctypes.windll.shell32.IsUserAnAdmin():
            self.show_error("💢 需要管理员权限!")
            return
        
        # ⏱️ 设置系统时间
        ctypes.windll.kernel32.SetLocalTime(byref(time_struct))
        self.show_success("✅ 时间修改成功!")
    except Exception as e:
        self.show_error(f"❌ 错误:{str(e)}")

NTP同步动画

def update_sync_status(self, step):
    steps = [
        "🛰️ 正在连接服务器...",
        "⏳ 获取时间数据...",
        "⚙️ 校准系统中...",
        "🎉 同步完成!"
    ]
    self.status_label.setText(steps[step])

五、源码获取与进阶改造

5.1 完整项目下载

import sys
import ctypes
import platform
from datetime import datetime
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, 
                             QHBoxLayout, QLabel, QDateTimeEdit, QPushButton,
                             QMessageBox, QTabWidget, QLineEdit, QComboBox,
                             QFormLayout, QFrame, QSizePolicy, QSpacerItem)
from PyQt5.QtCore import QDateTime, Qt, QTimer
from PyQt5.QtGui import QFont, QColor, QPalette, QFontDatabase, QIcon

class ModernTerminalLabel(QLabel):
    """现代化终端风格标签"""
    def __init__(self, text, font_size=14, bold=False):
        super().__init__(text)
        self.setAlignment(Qt.AlignCenter)
        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        
        # 字体选择优先级列表
        preferred_fonts = ["Segoe UI", "Arial", "Helvetica", "Microsoft YaHei", "PingFang SC"]
        font_db = QFontDatabase()
        available_fonts = font_db.families()
        
        # 选择第一个可用的字体
        selected_font = "Arial"  # 默认回退字体
        for font_name in preferred_fonts:
            if font_name in available_fonts:
                selected_font = font_name
                break
                
        font = QFont(selected_font, font_size)
        font.setBold(bold)
        self.setFont(font)
        self.setStyleSheet("color: #2c3e50;")

class ModernButton(QPushButton):
    """现代化按钮"""
    def __init__(self, text, icon=None, parent=None):
        super().__init__(text, parent)
        self.setCursor(Qt.PointingHandCursor)
        self.setMinimumHeight(42)
        
        if icon:
            self.setIcon(QIcon.fromTheme(icon))
        
        self.setStyleSheet("""
            QPushButton {
                background-color: #3498db;
                color: white;
                border: none;
                border-radius: 6px;
                padding: 10px 20px;
                font-family: 'Segoe UI';
                font-size: 14px;
                font-weight: medium;
                min-width: 140px;
            }
            QPushButton:hover {
                background-color: #2980b9;
            }
            QPushButton:pressed {
                background-color: #1a6ca8;
            }
            QPushButton:disabled {
                background-color: #bdc3c7;
            }
        """)

class TimeController(QMainWindow):
    def __init__(self):
        super().__init__()
        
        # 窗口设置
        self.setWindowTitle("⏱️ 高级时间控制器")
        self.setWindowIcon(QIcon.fromTheme("clock"))
        self.resize(608, 650)
        self.setMinimumSize(608, 650)
        
        # 设置现代化主题
        self.setAutoFillBackground(True)
        palette = self.palette()
        palette.setColor(QPalette.Window, QColor(240, 242, 245))
        palette.setColor(QPalette.Base, QColor(255, 255, 255))
        palette.setColor(QPalette.Text, QColor(44, 62, 80))
        self.setPalette(palette)
        
        # 主部件
        central_widget = QWidget()
        self.setCentralWidget(central_widget)
        
        # 主布局
        main_layout = QVBoxLayout(central_widget)
        main_layout.setContentsMargins(30, 30, 30, 20)
        main_layout.setSpacing(25)
        
        # 初始化UI
        self.init_ui(main_layout)
        
        # 状态栏
        self.statusBar().setStyleSheet("""
            QStatusBar {
                background-color: #ecf0f1;
                color: #7f8c8d;
                border-top: 1px solid #d5dbdb;
                font-family: 'Segoe UI';
                font-size: 11px;
                height: 24px;
            }
        """)
        self.statusBar().showMessage("🟢 系统准备就绪 | 当前用户: {}".format(platform.node()))
        
        # 设置定时器每秒更新一次时间
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.update_current_time)
        self.timer.start(1000)  # 1000毫秒 = 1秒
    
    def init_ui(self, layout):
        """初始化用户界面"""

        

        
        # 当前时间显示
        self.time_display = QWidget()
        time_display_layout = QVBoxLayout(self.time_display)
        time_display_layout.setContentsMargins(0, 0, 0, 0)
        
        time_label = ModernTerminalLabel("当前系统时间", 14)
        time_label.setAlignment(Qt.AlignLeft)
        time_label.setStyleSheet("color: #7f8c8d; margin-bottom: 5px;")
        time_display_layout.addWidget(time_label)
        
        self.time_value = ModernTerminalLabel("", 20)
        self.time_value.setStyleSheet("""
            QLabel {
                background-color: white;
                color: #2c3e50;
                border: 1px solid #d5dbdb;
                border-radius: 8px;
                padding: 15px;
                margin: 5px 0;
            }
        """)
        time_display_layout.addWidget(self.time_value)
        
        layout.addWidget(self.time_display)
        self.update_current_time()
        
        # 标签页区域
        self.tabs = QTabWidget()
        self.tabs.setStyleSheet("""
            QTabWidget::pane {
                border: 1px solid #d5dbdb;
                border-radius: 8px;
                background: white;
                margin-top: 10px;
            }
            QTabBar::tab {
                background: #ecf0f1;
                color: #7f8c8d;
                border: 1px solid #d5dbdb;
                border-bottom: none;
                border-top-left-radius: 8px;
                border-top-right-radius: 8px;
                padding: 10px 20px;
                margin-right: 4px;
                font-family: 'Segoe UI';
                font-size: 13px;
            }
            QTabBar::tab:selected {
                background: white;
                color: #2c3e50;
                border-bottom: 2px solid #3498db;
            }
            QTabBar::tab:hover {
                background: #e0e6e9;
            }
        """)
        
        # 创建标签页
        self.create_manual_tab()
        self.create_sync_tab()
        
        layout.addWidget(self.tabs)
        
        # 底部按钮区域
        button_layout = QHBoxLayout()
        button_layout.setSpacing(15)
        
        # 添加弹性空间使按钮右对齐
        button_layout.addStretch()
        
        refresh_btn = ModernButton("🔁 刷新时间", "view-refresh")
        refresh_btn.clicked.connect(self.update_current_time)
        button_layout.addWidget(refresh_btn)
        
        help_btn = ModernButton("🔆 帮助", "help-contents")
        help_btn.clicked.connect(self.show_help)
        button_layout.addWidget(help_btn)
        
        exit_btn = ModernButton("⏏️ 退出", "application-exit")
        exit_btn.clicked.connect(self.close)
        button_layout.addWidget(exit_btn)
        
        layout.addLayout(button_layout)
    
    def create_manual_tab(self):
        """创建手动设置时间标签页"""
        tab = QWidget()
        layout = QVBoxLayout(tab)
        layout.setContentsMargins(20, 20, 20, 20)
        layout.setSpacing(25)
        
        # 说明文字
        info_label = ModernTerminalLabel("🛠️ 手动调整系统日期和时间", 16)
        info_label.setStyleSheet("color: #2c3e50; margin-bottom: 15px;")
        layout.addWidget(info_label)
        
        # 表单区域
        form_layout = QFormLayout()
        form_layout.setHorizontalSpacing(20)
        form_layout.setVerticalSpacing(15)
        form_layout.setLabelAlignment(Qt.AlignRight)
        
        # 日期时间选择器
        self.datetime_edit = QDateTimeEdit()
        self.datetime_edit.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
        self.datetime_edit.setDateTime(QDateTime.currentDateTime())
        self.datetime_edit.setCalendarPopup(True)
        self.datetime_edit.setStyleSheet("""
            QDateTimeEdit {
                background-color: white;
                color: #2c3e50;
                border: 1px solid #d5dbdb;
                border-radius: 6px;
                padding: 10px;
                font-family: 'Segoe UI';
                font-size: 14px;
                min-width: 220px;
            }
            QDateTimeEdit:hover {
                border: 1px solid #bdc3c7;
            }
            QCalendarWidget {
                background-color: white;
                color: #2c3e50;
                font-family: 'Segoe UI';
            }
        """)
        
        dt_label = QLabel("设置日期时间:")
        dt_label.setStyleSheet("color: #7f8c8d; font-family: 'Segoe UI'; font-size: 14px;")
        form_layout.addRow(dt_label, self.datetime_edit)
        
        layout.addLayout(form_layout)
        
        # 应用按钮
        apply_btn = ModernButton("💾 应用时间设置", "document-save")
        apply_btn.clicked.connect(self.change_datetime)
        layout.addWidget(apply_btn, 0, Qt.AlignRight)
        
        self.tabs.addTab(tab, "⏱️ 手动设置")
    
    def create_sync_tab(self):
        """创建时间同步标签页"""
        tab = QWidget()
        layout = QVBoxLayout(tab)
        layout.setContentsMargins(20, 20, 20, 20)
        layout.setSpacing(25)
        
        # 说明文字
        info_label = ModernTerminalLabel("🌐 通过网络时间协议(NTP)同步", 16)
        info_label.setStyleSheet("color: #2c3e50; margin-bottom: 15px;")
        layout.addWidget(info_label)
        
        # 表单区域
        form_layout = QFormLayout()
        form_layout.setHorizontalSpacing(20)
        form_layout.setVerticalSpacing(15)
        form_layout.setLabelAlignment(Qt.AlignRight)
        
        # 服务器选择
        server_label = QLabel("时间服务器:")
        server_label.setStyleSheet("color: #7f8c8d; font-family: 'Segoe UI'; font-size: 14px;")
        
        self.server_combo = QComboBox()
        self.server_combo.addItems([
            "pool.ntp.org (默认)",
            "time.google.com (Google)",
            "time.windows.com (Microsoft)",
            "time.apple.com (Apple)",
            "ntp.aliyun.com (阿里云)",
            "ntp1.tencent.com (腾讯云)"
        ])
        self.server_combo.setEditable(True)
        self.server_combo.setStyleSheet("""
            QComboBox {
                background-color: white;
                color: #2c3e50;
                border: 1px solid #d5dbdb;
                border-radius: 6px;
                padding: 8px;
                font-family: 'Segoe UI';
                font-size: 14px;
                min-width: 250px;
            }
            QComboBox:hover {
                border: 1px solid #bdc3c7;
            }
            QComboBox QAbstractItemView {
                background-color: white;
                selection-background-color: #3498db;
                selection-color: white;
                font-family: 'Segoe UI';
                font-size: 13px;
            }
        """)
        form_layout.addRow(server_label, self.server_combo)
        
        layout.addLayout(form_layout)
        
        # 同步按钮
        sync_btn = ModernButton("♾️ 立即同步", "network-workgroup")
        sync_btn.clicked.connect(self.start_ntp_sync)
        layout.addWidget(sync_btn, 0, Qt.AlignRight)
        
        # 同步状态区域
        sync_status_layout = QVBoxLayout()
        sync_status_layout.setSpacing(5)
        
        status_label = QLabel("同步状态:")
        status_label.setStyleSheet("color: #7f8c8d; font-family: 'Segoe UI'; font-size: 14px;")
        sync_status_layout.addWidget(status_label)
        
        self.sync_status = QLabel("尚未同步")
        self.sync_status.setStyleSheet("""
            QLabel {
                background-color: white;
                color: #7f8c8d;
                border: 1px solid #d5dbdb;
                border-radius: 8px;
                padding: 12px;
                font-family: 'Segoe UI';
                font-size: 13px;
            }
        """)
        sync_status_layout.addWidget(self.sync_status)
        
        layout.addLayout(sync_status_layout)
        
        self.tabs.addTab(tab, "🔄 网络同步")
    
    def update_current_time(self):
        """更新当前时间显示"""
        now = datetime.now()
        self.time_value.setText(f"🕒 {now.strftime('%Y年%m月%d日 %H:%M:%S')}")
        # 只在手动刷新时更新状态栏消息
        if not hasattr(self, 'is_timer_update'):
            self.statusBar().showMessage(f"✅ 时间已刷新 | {now.strftime('%A %Y-%m-%d %H:%M:%S')}", 3000)
        
        # 设置标志位表示这是定时器触发的更新
        self.is_timer_update = True
        QTimer.singleShot(100, lambda: delattr(self, 'is_timer_update'))
    
    def change_datetime(self):
        """更改系统日期时间"""
        if platform.system() != "Windows":
            self.show_message("❌ 错误", "⚠️ 仅支持Windows系统", QMessageBox.Critical)
            return
            
        if not ctypes.windll.shell32.IsUserAnAdmin():
            self.show_message("⛔ 权限不足", "🔑 需要管理员权限才能修改系统时间", QMessageBox.Critical)
            return
            
        new_datetime = self.datetime_edit.dateTime().toPyDateTime()
        
        try:
            ctypes.windll.kernel32.SetLocalTime(ctypes.byref(self.get_system_time_struct(new_datetime)))
            self.update_current_time()
            self.show_message("✅ 成功", "⏱️ 系统时间已成功修改", QMessageBox.Information)
        except Exception as e:
            self.show_message("❌ 错误", f"⚠️ 修改失败: {str(e)}", QMessageBox.Critical)
    
    def start_ntp_sync(self):
        """开始NTP时间同步"""
        server = self.server_combo.currentText().split(" ")[0]  # 获取服务器地址部分
        if not server:
            self.show_message("⚠️ 警告", "📡 请选择或输入有效的时间服务器地址", QMessageBox.Warning)
            return
        
        # 模拟同步过程
        self.sync_status.setText("⏳ 正在连接服务器 {}...".format(server))
        QTimer.singleShot(1500, lambda: self.update_sync_status(1, server))
    
    def update_sync_status(self, step, server):
        """更新同步状态"""
        if step == 1:
            self.sync_status.setText("🔍 正在从 {} 获取时间数据...".format(server))
            QTimer.singleShot(1500, lambda: self.update_sync_status(2, server))
        elif step == 2:
            self.sync_status.setText("⚙️ 正在校准系统时间...")
            QTimer.singleShot(1500, lambda: self.finish_ntp_sync(server))
    
    def finish_ntp_sync(self, server):
        """完成NTP同步"""
        now = datetime.now()
        self.sync_status.setText("✅ 同步成功\n服务器: {}\n时间: {}".format(
            server, now.strftime("%Y-%m-%d %H:%M:%S")))
        self.datetime_edit.setDateTime(QDateTime.currentDateTime())
        self.update_current_time()
        self.show_message("✅ 成功", "🌐 已成功从 {} 同步时间".format(server), QMessageBox.Information)
    
    def show_help(self):
        """显示帮助信息"""
        help_text = """
        <h3>🆘 时间控制器帮助</h3>
        
        <h4>⏱️ 手动设置时间</h4>
        <p>1. 在日期时间选择器中选择新的日期和时间</p>
        <p>2. 点击"应用时间设置"按钮</p>
        <p>3. 需要管理员权限才能修改系统时间</p>
        
        <h4>🌐 网络时间同步</h4>
        <p>1. 从下拉列表选择时间服务器</p>
        <p>2. 或手动输入自定义NTP服务器地址</p>
        <p>3. 点击"立即同步"按钮</p>
        
        <h4>⚠️ 注意事项</h4>
        <p>• 仅支持Windows系统</p>
        <p>• 修改系统时间需要管理员权限</p>
        <p>• 网络同步需要有效的互联网连接</p>
        <p>• 建议使用可靠的时间服务器</p>
        """
        msg = QMessageBox(self)
        msg.setWindowTitle("❓ 帮助")
        msg.setTextFormat(Qt.RichText)
        msg.setText(help_text)
        msg.setIcon(QMessageBox.Information)
        msg.setStyleSheet("""
            QMessageBox {
                background-color: white;
                font-family: 'Segoe UI';
            }
            QLabel {
                color: #2c3e50;
                font-size: 13px;
            }
            QPushButton {
                background-color: #3498db;
                color: white;
                border: none;
                border-radius: 6px;
                padding: 8px 16px;
                min-width: 80px;
                font-family: 'Segoe UI';
            }
            QPushButton:hover {
                background-color: #2980b9;
            }
        """)
        msg.exec_()
    
    def get_system_time_struct(self, dt):
        """将datetime对象转换为SYSTEMTIME结构体"""
        class SYSTEMTIME(ctypes.Structure):
            _fields_ = [
                ('wYear', ctypes.c_uint16),
                ('wMonth', ctypes.c_uint16),
                ('wDayOfWeek', ctypes.c_uint16),
                ('wDay', ctypes.c_uint16),
                ('wHour', ctypes.c_uint16),
                ('wMinute', ctypes.c_uint16),
                ('wSecond', ctypes.c_uint16),
                ('wMilliseconds', ctypes.c_uint16)
            ]
            
        st = SYSTEMTIME()
        st.wYear = dt.year
        st.wMonth = dt.month
        st.wDay = dt.day
        st.wHour = dt.hour
        st.wMinute = dt.minute
        st.wSecond = dt.second
        st.wMilliseconds = dt.microsecond // 1000
        return st
    
    def show_message(self, title, text, icon):
        """显示现代化消息框"""
        msg = QMessageBox(self)
        msg.setWindowTitle(title)
        msg.setText(text)
        msg.setIcon(icon)
        msg.setStyleSheet("""
            QMessageBox {
                background-color: white;
                font-family: 'Segoe UI';
            }
            QLabel {
                color: #2c3e50;
                font-size: 14px;
            }
            QPushButton {
                background-color: #3498db;
                color: white;
                border: none;
                border-radius: 6px;
                padding: 8px 16px;
                min-width: 80px;
                font-family: 'Segoe UI';
            }
            QPushButton:hover {
                background-color: #2980b9;
            }
        """)
        msg.exec_()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setStyle("Fusion")
    
    # 设置应用程序字体
    font_db = QFontDatabase()
    preferred_fonts = ["Segoe UI", "Arial", "Helvetica", "Microsoft YaHei", "PingFang SC"]
    selected_font = "Arial"
    for font_name in preferred_fonts:
        if font_name in font_db.families():
            selected_font = font_name
            break
    
    font = QFont(selected_font, 10)
    app.setFont(font)
    
    window = TimeController()
    window.show()
    
    sys.exit(app.exec_())

5.2 二次开发建议

添加真实NTP协议支持

import ntplib
def real_ntp_sync(server):
    client = ntplib.NTPClient()
    response = client.request(server)
    return response.tx_time

实现多主题切换

def set_theme(theme):
    if theme == "dark":
        apply_dark_theme()
    else:
        apply_light_theme()

六、总结与展望

6.1 项目总结

通过本项目我们掌握了:

  • PyQt5现代化界面开发技巧
  • Windows系统时间管理API
  • QSS样式表深度定制
  • 状态机动画实现

6.2 未来升级计划

  • 增加Linux/macOS支持
  • 添加定时同步功能
  • 实现时间修改历史记录
  • 开发插件系统

以上就是使用Python打造高颜值系统时间控制器的详细内容,更多关于Python系统时间控制器的资料请关注脚本之家其它相关文章!

相关文章

  • Python面经之16个高频面试问题总结

    Python面经之16个高频面试问题总结

    这篇文章主要给大家介绍了关于Python面经之16个高频面试问题的相关资料,帮助大家回顾基础知识,了解面试套路,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Python钉钉报警及Zabbix集成钉钉报警的示例代码

    Python钉钉报警及Zabbix集成钉钉报警的示例代码

    这篇文章主要介绍了Python钉钉报警及Zabbix集成钉钉报警的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • pandas中遍历dataframe的每一个元素的实现

    pandas中遍历dataframe的每一个元素的实现

    这篇文章主要介绍了pandas中遍历dataframe的每一个元素的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Python高级特性与几种函数的讲解

    Python高级特性与几种函数的讲解

    今天小编就为大家分享一篇关于Python高级特性与几种函数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Django异步任务之Celery的基本使用

    Django异步任务之Celery的基本使用

    这篇文章主要给大家介绍了关于Django异步任务之Celery使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • python pygame模块编写飞机大战

    python pygame模块编写飞机大战

    这篇文章主要为大家详细介绍了python pygame模块编写飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • python之Flask实现简单登录功能的示例代码

    python之Flask实现简单登录功能的示例代码

    这篇文章主要介绍了python之Flask实现简单登录功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Python基于有道实现英汉字典功能

    Python基于有道实现英汉字典功能

    这篇文章主要介绍了Python基于有道实现英汉字典功能的方法,通过调用有道查询接口实现英汉字典功能,简单实用,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python如何使用contextvars模块源码分析

    python如何使用contextvars模块源码分析

    这篇文章主要介绍了python如何使用contextvars模块源码分析,contextvars是Python3.7后的官方库,功能就是可以为多线程以及asyncio生态添加上下文功能,即使程序在多个协程并发运行的情况下,也能调用到程序的上下文变量, 从而使我们的逻辑解耦
    2022-06-06
  • python命令行引导用户填写ssh登录信息详解

    python命令行引导用户填写ssh登录信息详解

    这篇文章主要为大家介绍了python命令行引导用户填写ssh登录信息详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论