//方案— 优点:仅使用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;
}
1,时间的获取:
通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t timer);
#include "stdafxh"
#include "timeh"
#include "stdioh"
#include "stdlibh"
int main(void)
{
struct tm t; //定义tm时间结构,用来存储时间格式的数据信息
time_t t_of_day; //定义time_t时间结构
ttm_year=2006-1900;//以1900年为标准计算时间
ttm_mon=6; //为结构体成员赋值
ttm_mday=1;
ttm_hour=0;
ttm_min=0;
ttm_sec=1;
ttm_isdst=0;
t_of_day=mktime(&t);
// 使用mktime()函数将用tm结构表示的时间转化为日历时间:time_t型变量。其函数原型如下:time_t mktime(struct tm timeptr);ctime()函数(参数为time_t结构)将时间以固定的格式显示出来,返回值是char型的字符串。
return 0;
}
2,时间的储存,通过预定义的两种结构来存储:
1,日历时间(Calendar Time)是通过time_t数据类型来表示的,用time_t表示的时间(日历时间)是从一个时间点(例如:1970年1月1日0时0分0秒)到此时的秒数。在timeh中,我们也可以看到time_t是一个长整型数:
#ifndef _TIME_T_DEFINED
typedef long time_t; / 时间值 /
#define _TIME_T_DEFINED / 避免重复定义 time_t /
#endif
2,在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在timeh中的定义如下:
struct tm {
int tm_sec; / 秒 – 取值区间为[0,59] /
int tm_min; / 分 - 取值区间为[0,59] /
int tm_hour; / 时 - 取值区间为[0,23] /
int tm_mday; / 一个月中的日期 - 取值区间为[1,31] /
int tm_mon; / 月份(从一月开始,0代表一月) - 取值区间为[0,11] /
int tm_year; / 年份,其值等于实际年份减去1900 /
int tm_wday; / 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 /
int tm_yday; / 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 /
int tm_isdst; / 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。/
};
3,时间的显示:
timeh 头文件中提供了asctime()函数(参数为tm结构指针)和ctime()函数(参数为time_t结构)将时间以固定的格式显示出来,两者的返回值 都是char型的字符串。返回的时间格式为:星期几 月份 日期 时:分:秒 年/n/0;timeh还提供了两种不同的函数将日历时间(一个用time_t表示的整数)转换为我们平时看到的把年月日时分秒分开显示的时间格式 tm:
struct tm gmtime(const time_t timer);
gmtime()函数是将日历时间转化为世界标准时间(即格林尼治时间),并返回一个tm结构体来保存这个时间
struct tm localtime(const time_t timer);localtime()函数是将日历时间转化为本地时间
#include <stdafxh>
#include <timeh>
#include <stdioh>
#include <stdlibh>
int main(void)
{
struct tm local,ptr; //定义tm结构指针存储时间信息
time_t t; //时间结构或者对象
t=time(NULL); //获取当前系统的日历时间
//通过time()函数来获得日历时间(Calendar Time),
//其原型为:time_t time(time_t timer);
local=localtime(&t);//localtime()函数是将日历时间转化为本地时间
printf("Local hour is: %d/n",local->tm_hour);//输出tm结构体的时间成员
printf("UTC hour is: %d/n",local->tm_hour);
//local=gmtime(&t);
//gmtime()函数是将日历时间转化为世界标准时间(即格林尼治时间),
//并返回一个tm结构体来保存这个时间
ptr=gmtime(&t);//将日历时间转化为世界标准时间
printf("The UTC time is %s/n",asctime(ptr)); //格式化输出世界标准时间
printf("The local time is %s/n",ctime(&t));//输出本地时间
/asctime()函数(参数为tm结构指针)和ctime()函数(参数为time_t结构)将时间以固定的格式显示出来,两者的返回值都是char型的字符串。返回的时间格式为:星期几 月份 日期 时:分:秒 年/n/0 /
return 0;
}
用线程可以啊
import javautil;
public class test implements Runnable{
Thread th0 ;
//public void run(){}
public test(Thread th)
{
th0 = th;
th0= new Thread(this);
th0start();
}
public void run()
{
try{
while(true)
{
if(ThreadcurrentThread()==th0){
Calendar cal = CalendargetInstance();
int wd = calget(CalendarDAY_OF_WEEK);
String x = "";
switch(wd){
case 1:x="星期日";break;
case 2:x="星期一";break;
case 3:x="星期二";break;
case 4:x="星期三";break;
case 5:x="星期四";break;
case 6:x="星期五";break;
case 7:x="星期六";break;
}
int y = calget(CalendarYEAR);
int mon = calget(CalendarMONTH)+1;
int d = calget(CalendarDATE);
int h = calget(CalendarHOUR);
int min = calget(CalendarMINUTE);
int s = calget(CalendarSECOND);
int ap = calget(CalendarAM_PM);
if(ap==1)
h = h+12;
StringBuffer sb = new StringBuffer("日期:"+y+"-"+((mon<=9)"0"+mon:mon)+"-"+((d<=9)"0"+d:d)+" 时间:"+h+":"+((min<=9)"0"+min:min)+":"+((s<=9)"0"+s:s)+" "+x);
Systemoutprintln(sb);
Threadsleep(1000);
}
}
}catch(Exception ee){
eegetStackTrace();
}
}
public static void main(String[] args) {
Thread th = new Thread();
test t = new test(th);
trun();
}
}
java如何获取当前时间以及格式化需要用到两个类,如下图:
1获取当前时间,并格式化为(年-月-日 时:分:秒)。
Date t = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Systemoutprintln(dfformat(t));
打印输出结果如下图:
2将javautilDate转换为javasqlDate格式。
javasqlDate sqld = new javasqlDate(tgetTime());
Systemoutprintln(sqld);
javasqlTime sqlt = new javasqlTime(tgetTime());
Systemoutprintln(sqlt);
javasqlTimestamp sqlts = new javasqlTimestamp(tgetTime());
Systemoutprintln(sqlts);
打印输出结果如下图:
“——java”:
Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
有两种方法:
方法一:用javautilDate类来实现,并结合javatextDateFormat类来实现时间的格式化,看下面代码:
mport 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();
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方式显示时间: Thu Sep 17 09:39:46 CST 2015
用DateFormatgetDateInstance()格式化时间后为:2015-9-17
用DateFormatgetDateTimeInstance()格式化时间后为:2015-9-17 9:39:46
用DateFormatgetTimeInstance()格式化时间后为:9:39:46
用DateFormatgetInstance()格式化时间后为:15-9-17 上午9:39
用DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL)格式化时间后为:2015年9月17日 星期四 上午09时39分46秒 CST
用DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG)格式化时间后为:2015年9月17日 上午09时39分46秒
用DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT)格式化时间后为:15-9-17 上午9:39
用DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM)格式化时间后为:2015-9-17 9:39:46
方法二:用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()方式显示时间: Thu Sep 17 09:40:40 CST 2015
用Calendar获得日期是:2015年8月17日
用Calendar获得时间是:9时40分40秒
5
总结:中的来说,方法二是最方便的,方法一显得分笨拙,不过看个人喜欢了。
通过new Date获取当前的日期与时间
示例:
public static void main(String[] args){Date now = new Date(); //获取当前时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//格式化当前日期时间,显示如2015/06/27 14:22:22
}
代码如下:
<%@ page language="java"
contentType = "text/html; charset=UTF-8"
pageEncoding = "UTF-8"%>
<%@ page import ="javautilCalendar" %>
<!DOCTYPE html>
<html>
<head>
<meta charset = "ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Calendar c = CalendargetInstance();
int year = cget(CalendarYEAR);
int month = cget(CalendarMONTH) + 1;
int date = cget(CalendarDATE);
int hour = cget(CalendarHOUR_OF_DAY);
int minute = cget(CalendarMINUTE);
int second = cget(CalendarSECOND);
String str = "";
if(hour >= 0 && hour <=11){
str = "上午好!";
}
else if(hour >=11 && hour <= 13){
str = "中午好!";
}
else if(hour >=13 && hour <=18){
str = "下午好!";
}
else if(hour >= 18 && hour <=24){
str = "晚上好!";
}
%>
<table BORDER = "1" align ="center">
<tr align ="center"><td>现在时间为:<%=year %>-<%=month %>-<%=date %>-<%=hour %>-<%=minute %>-<%=second %></td></tr>
<tr align = "center"><td><%=str %></td></tr>
</table>
</body>
</html>
扩展资料
JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。
以下是JSP生命周期中所走过的几个阶段:
1、编译阶段:servlet容器编译servlet源文件,生成servlet类。
2、初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法。
3、执行阶段:调用与JSP对应的servlet实例的服务方法。
4、销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例。
很明显,JSP生命周期的四个主要阶段和servlet生命周期非常相似。
以上就是关于C++怎么获取XXXX-XX-XX格式系统时间全部的内容,包括:C++怎么获取XXXX-XX-XX格式系统时间、Java用Calendar如何每秒取一次系统时间、java如何获取当前时间 年月日 时分秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)