如何获取系统的当前时间
一、使用MFC的CTime类来得到时间:
CTime必须调用赋值函数,使用其静态函数来初始化
例如:
CTime time=CTime::GetCurrentTime();
这样就可以直接调用time的内部方法得到你想要的当前的时间了。
二、使用MFC的COleDateTime来得到时间:
同上一样,使用MFC 的COleDataTime来处理当前系统的时间也需要首先使用其静态函数来初始化
例如:
COleDataTime time=COleDataTime::GetCurrentTime();
这样之后就可以直接调用time的所有方法了。
针对上面两种MFC的调用方法,MFC帮他们封装好了显示格式的函数,并且能够直接返回CString的格式。同样,也可以自己指定显示格式,具体的显示情况如下%a:显示星期英文的前面几个字母
%A:显示星期的全部英文名称
%b:显示月份英文的前面几个字母
%B:显示月份的全部英文名称
%c:以百分号的形式显示日期时间如:06/02/25/ 01:13:57
%d:显示月份的序号(01 – 31)
%H:显示时间24小时制(00 – 23)
%I:显示时间12小时制(01 – 12)
%j:显示当前是一年中的第几天(001 – 366)
%m:显示月份序号(01 – 12)
%M:显示分钟(00 – 59)
%p:显示当前时间是上午还是下午 AM/PM
%S:显示秒钟(00 – 59)
%U:显示当前是一年中的第几周(00 – 53)
%w:显示星期的序号(0 – 6; 星期日为 0)
%W:显示当前是一年中的第几周(00 – 53)
%x:以百分号的形式显示日期 如:06/02/25/
%X:以冒号的形式显示时间 如:01:12:45
%y:两位显示年号(00 – 99)
%Y:四位显示年号
%#c:显示时间 如:Tuesday, March 14, 1995, 12:41:29
%#x:显示时间 如:Tuesday, March 14, 1995
具体的其他参考请查看MSDN上面的说明;
三、使用API函数GetLocalTime()得到当前系统的时间:
SYSTEMTIME time;
GetLocalTime(&time);
然后得到SYSTEMTIME结构中的日期时间参数;
注意:GetSystemTime得到的时间结构只不过是UTC格式的 ,需要转化为本地的格式
import javatextSimpleDateFormat;
import javautilDate;
public class Test2 {
/
@param args
/
public static void main(String[] args) {
Date date = new Date();
Systemoutprintln(date);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Systemoutprintln(dfformat(date));
}
}
1、在windows7系统的开始菜单中,点击“运行”选项。
2、然后在出现的界面中,输入“cmd”内容,进行确定。
3、然后在出现的界面,输入(date)。
4、回车确认后,即可在命令行里获取日期。
有两种方法:
方法一:用javautilDate类来实现,并结合javatextDateFormat类来实现时间的格式化,看下面代码:
import javautil;
import javatext;
//以下默认时间日期显示方式都是汉语语言方式
//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53
//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2java
public class TestDate {
public static void main(String[] args) {
Date now = new Date();
Calendar cal = CalendargetInstance();
DateFormat d1 = DateFormatgetDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53)
String str1 = d1format(now);
DateFormat d2 = DateFormatgetDateTimeInstance();
String str2 = d2format(now);
DateFormat d3 = DateFormatgetTimeInstance();
String str3 = d3format(now);
DateFormat d4 = DateFormatgetInstance(); //使用SHORT风格显示日期和时间
String str4 = d4format(now);
DateFormat d5 = DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL); //显示日期,周,时间(精确到秒)
String str5 = d5format(now);
DateFormat d6 = DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG); //显示日期。时间(精确到秒)
String str6 = d6format(now);
DateFormat d7 = DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT); //显示日期,时间(精确到分)
String str7 = d7format(now);
DateFormat d8 = DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM); //显示日期,时间(精确到分)
String str8 = d8format(now);//与SHORT风格相比,这种方式最好用
Systemoutprintln("用Date方式显示时间: " + now);//此方法显示的结果和CalendargetInstance()getTime()一样
Systemoutprintln("用DateFormatgetDateInstance()格式化时间后为:" + str1);
Systemoutprintln("用DateFormatgetDateTimeInstance()格式化时间后为:" + str2);
Systemoutprintln("用DateFormatgetTimeInstance()格式化时间后为:" + str3);
Systemoutprintln("用DateFormatgetInstance()格式化时间后为:" + str4);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL)格式化时间后为:" + str5);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG)格式化时间后为:" + str6);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT)格式化时间后为:" + str7);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM)格式化时间后为:" + str8);
}
}
运行结果:
用Date方式显示时间: Mon Jun 16 20:54:53 CST 2008
用DateFormatgetDateInstance()格式化时间后为:2008-6-16
用DateFormatgetDateTimeInstance()格式化时间后为:2008-6-16 20:54:53
用DateFormatgetTimeInstance()格式化时间后为:20:54:53
用DateFormatgetInstance()格式化时间后为:08-6-16 下午8:54
用DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL)格式化时间后为
:2008年6月16日 星期一 下午08时54分53秒 CST
用DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG)格式化时间后为
:2008年6月16日 下午08时54分53秒
用DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT)格式化时间后
为:08-6-16 下午8:54
用DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM)格式化时间
后为:2008-6-16 20:54:53
方法二:用javautilCalendar类来实现,看下面:
import javautil;
import javatext;
//以下是利用Calendar类来实现日期时间的,和Date类相比较比较简单
public class TestDate2 {
public static void main(String[] args) {
Calendar ca = CalendargetInstance();
int year = caget(CalendarYEAR);//获取年份
int month=caget(CalendarMONTH);//获取月份
int day=caget(CalendarDATE);//获取日
int minute=caget(CalendarMINUTE);//分
int hour=caget(CalendarHOUR);//小时
int second=caget(CalendarSECOND);//秒
int WeekOfYear = caget(CalendarDAY_OF_WEEK);
Systemoutprintln("用CalendargetInstance()getTime()方式显示时间: " + cagetTime());
Systemoutprintln("用Calendar获得日期是:" + year +"年"+ month +"月"+ day + "日");
Systemoutprintln("用Calendar获得时间是:" + hour +"时"+ minute +"分"+ second +"秒");
Systemoutprintln(WeekOfYear);//显示今天是一周的第几天(我做的这个例子正好是周二,故结果显示2,如果你再周6运行,那么显示6)
}
}
运行结果是:
用CalendargetInstance()getTime()方式显示时间: Mon Jun 16 21:54:21 CST 2008
用Calendar获得日期是:2008年5月16日
用Calendar获得时间是:9时54分21秒
2
总结:中的来说,方法二是最方便的,方法一显得分笨拙,不过看个人喜欢了。
还有一种方法利用SystemcurrentTimeMillis()也可以。
首先el表达式,只能拿到有带get开头的方法;
所有你可以先用requestsetAttribute("date",new Date());
然后在返回的jsp页面上用${date},就能那到服务器上的时间,
如果你仅仅只想在获得本地上的时间,你只要用js就可以获得了
<script>
var date =new Date();
//这里的date 是你打开jsp页面的 本地时间,和服务器时间是有区别的
</script>
还有不懂的地方,可以直接找我聊
Android中获取系统时间和日期,星期代码如下:
import javatextSimpleDateFormat;
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(SystemcurrentTimeMillis());//获取当前时间
String str = formatterformat(curDate);
可以获取当前的年月时分,也可以分开写:
复制代码 代码如下:
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date = sDateFormatformat(new javautilDate());
如果想获取当前的年月,则可以这样写(只获取时间或秒种一样):
Java代码
复制代码 代码如下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");
String date=sdfformat(new javautilDate());
当然还有就是可以指定时区的时间(待):
复制代码 代码如下:
df=DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL,LocaleCHINA);
Systemoutprintln(dfformat(new Date()));
如何获取Android系统时间是24小时制还是12小时制
复制代码 代码如下:
ContentResolver cv = thisgetContentResolver();
String strTimeFormat = androidproviderSettingsSystemgetString(cv,
androidproviderSettingsSystemTIME_12_24);
if(strTimeFormatequals("24"))
{
Logi("activity","24");
}
复制代码 代码如下:
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
利用Calendar获取
复制代码 代码如下:
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
利用Time获取
复制代码 代码如下:
Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。
tsetToNow(); // 取得系统时间。
int year = tyear;
int month = tmonth;
int date = tmonthDay;
int hour = thour; // 0-23
int minute = tminute;
int second = tsecond;
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级
#include <timeh>
#include <stdioh>
int main( void )
{
time_t t = time(0);
char tmp[64];
strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );
puts( tmp );
return 0;
}
size_t strftime(char strDest, size_t maxsize, const char format, const struct tm timeptr);
根据格式字符串生成字符串。
struct tm localtime(const time_t timer);
取得当地时间,localtime获取的结果由结构tm返回
返回的字符串可以依下列的格式而定:
%a 星期几的缩写。Eg:Tue
%A 星期几的全名。 Eg: Tuesday
%b 月份名称的缩写。
%B 月份名称的全名。
%c 本地端日期时间较佳表示字符串。
%d 用数字表示本月的第几天 (范围为 00 至 31)。日期
%H 用 24 小时制数字表示小时数 (范围为 00 至 23)。
%I 用 12 小时制数字表示小时数 (范围为 01 至 12)。
%j 以数字表示当年度的第几天 (范围为 001 至 366)。
%m 月份的数字 (范围由 1 至 12)。
%M 分钟。
%p 以 ''AM'' 或 ''PM'' 表示本地端时间。
%S 秒数。
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。
%w 用数字表示本周的第几天 ( 0 为周日)。
%x 不含时间的日期表示法。
%X 不含日期的时间表示法。 Eg: 15:26:30
%y 二位数字表示年份 (范围由 00 至 99)。
%Y 完整的年份数字表示,即四位数。 Eg:2008
%Z(%z) 时区或名称缩写。Eg:中国标准时间
%% % 字符。
//方案二 优点:能精确到毫秒级;缺点:使用了windows API
#include <windowsh>
#include <stdioh>
int main( void )
{
SYSTEMTIME sys;
GetLocalTime( &sys );
printf( "%4d/%02d/%02d %02d:%02d:%02d%03d 星期%1d\n",syswYear,syswMonth,syswDay,syswHour,syswMinute, syswSecond,syswMilliseconds,syswDayOfWeek);
return 0;
}
//方案三,优点:利用系统函数,还能修改系统时间
//此文件必须是c++文件
#include<stdlibh>
#include<iostream>
using namespace std;
void main()
{
system("time");
}
//方案四,将当前时间折算为秒级,再通过相应的时间换算即可
//此文件必须是c++文件
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t now_time;
now_time = time(NULL);
cout<<now_time;
return 0;
}
以上就是关于如何获取当前系统时间全部的内容,包括:如何获取当前系统时间、java 如何取得系统当前时间(Timestamp类型的)、dos获取系统当前时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)