zenity 脚本设置系统日期和时间
来源:互联网 发布:指向数组指针的指针 编辑:程序博客网 时间:2024/05/16 02:02
记录于此,以便自己参考。
==============================================================
理论知识:设置系统日期和时间
初始日期格式
DATE="2010/08/20"
得到新的格式: 08/2010/20
NEWDATE=$(echo "$DATE" | awk --source 'BEGIN {FS="/"}' --source '{print $2 "/" $1 "/" $3}')
得到年
Y=$(echo $NEWDATE | sed "s/^...//" | sed "s/\/.*$//")
得到月
M=$(echo $NEWDATE | sed "s/\/.*$//")
得到日
D=$(echo $NEWDATE | sed "s/^........//" | sed "s/ .*$//")
或者
D=$(echo $NEWDATE | sed "s/^.\{8\}//" | sed "s/ .*$//")
初始时间格式
TIME=“19:20:50”
得到小时和分钟的格式:1920
H=$(echo $TIME | sed "s/^.* //" | sed "s/://g" | sed "s/..$//")
得到date命令需要的格式: date MMDDhhmm[[CC]YY][.ss],即:月 日 时 分 年(前2位) 年(后2位) 秒
DT=(echo $M$D$H$Y)
设置时间:
date $DT
设置硬件时间和系统时间同步
hwclock --systohc --localtime
=======================================================================
使用精确的时,分,秒 来设置
初始时间格式
TIME=“19:20:50”
小时:
h=$(echo $TIME | sed "s/^.* //" | awk --source 'BEGIN {FS=":"}' --source '{print $1}')
分钟:
m=$(echo $TIME | sed "s/^.* //" | awk --source 'BEGIN {FS=":"}' --source '{print $2}')
秒:
s=$(echo $TIME | sed "s/^.* //" | awk --source 'BEGIN {FS=":"}' --source '{print $3}')
得到date命令需要的格式: date MMDDhhmm[[CC]YY][.ss],即:月 日 时 分 年(前2位) 年(后2位) 秒
DT_NEW=$(echo $M$Y$h$m$D.$s)
设置时间:
date $DT_NEW
设置硬件时间和系统时间同步
hwclock --systohc --localtime
===========================================================================
也可以分别设置日期 和 时间,例如:
date -s 20100820
date -s 19:20:50
============================================================================
一个实际的例子:(只设置了日期)
#!/bin/bash
ZENITY=$(which zenity)
# TMP="/tmp/zenity_calendar.$$"
TITLE="请选择日期"
TEXT="鼠标点击,选择日期"
# get date format: 2011/09/01
DATE=$($ZENITY --calendar --title="$TITLE" --text="$TEXT" --date-format=%Y/%m/%d)
# exit if user press [Cancel] or X button
if [ "$?" != "0" ]; then
exit
fi
# get newdate format: 09/2011/01
NEWDATE=$(echo "$DATE" | awk 'BEGIN {FS="/"} {print $2 "/" $1 "/" $3}')
# get year
Y=$(echo $NEWDATE | sed "s/^...//" | sed "s/\/.*$//")
# get month
M=$(echo $NEWDATE | sed "s/\/.*$//")
# get date
D=$(echo $NEWDATE | sed "s/^.\{8\}//" | sed "s/ .*$//")
# get date command format: date -s 20110901
DATE_SET=$(echo $Y$M$D)
# set date
date -s $DATE_SET
# sychronise hardclock and sysclock
hwclock --systohc --localtime
- zenity 脚本设置系统日期和时间
- Linux下设置系统日期和时间
- Linux 设置系统时间和日期 API
- 设置系统日期时间和时区
- Linux GUI脚本zenity
- 设置系统的时间/日期
- 设置PDA系统日期时间
- 读取、设置系统时间日期
- Qt4 设置系统日期时间
- 设置系统日期时间格式
- 时间设置和日期设置
- linux系统下查看和设置日期时间的命令
- 使用C#代码设置系统日期和时间
- [原创]qtp设置系统时间和日期的方…
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- 虚函数的作用
- 创建我的LFS-(1)
- 创建我的LFS-(2)
- 创建我的LFS-(3)
- ubuntu10.04 中安装 Xdialog
- zenity 脚本设置系统日期和时间
- linux 自动挂载U盘(1)
- gtkdialog 编译时的 signal 结构体问题
- 添加Udev规则,让Linux自动挂载U盘(转载)
- 使用 udev 高效、动态地管理 Linux 设备文件(转载)--1
- 使用 udev 高效、动态地管理 Linux 设备文件(转载)--2
- 使用 udev 高效、动态地管理 Linux 设备文件(转载)--3
- 宝宝退烧的天然方子
- AndroidManifest.xml文件--权限设置