POJ3751 时间日期格式转换【日期计算】
生活随笔
收集整理的這篇文章主要介紹了
POJ3751 时间日期格式转换【日期计算】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
時(shí)間日期格式轉(zhuǎn)換
| Time Limit:?1000MS | ? | Memory Limit:?65536K |
| Total Submissions:?8306 | ? | Accepted:?3829 |
Description
世界各地有多種格式來(lái)表示日期和時(shí)間。對(duì)于日期的常用格式,在中國(guó)常采用格式的是“年年年年/月月/日日”或?qū)憺橛⒄Z(yǔ)縮略表示的”yyyy/mm/dd”,此次編程大賽的啟動(dòng)日期“2009/11/07”就是符合這種格式的一個(gè)日期,而北美所用的日期格式則為“月月/日日/年年年年”或”mm/dd/yyyy”,如將“2009/11/07”改成這種格式,對(duì)應(yīng)的則是”11/07/2009”。對(duì)于時(shí)間的格式,則常有12小時(shí)制和24小時(shí)制的表示方法,24小時(shí)制用0-24來(lái)表示一天中的24小時(shí),而12小時(shí)制只采用1-12表示小時(shí),再加上am/pm來(lái)表示上午或下午,比如”17:30:00”是采用24小時(shí)制來(lái)表示時(shí)間,而對(duì)應(yīng)的12小時(shí)制的表示方法是”05:30:00pm”。注意12:00:00pm表示中午12點(diǎn),而12:00:00am表示凌晨12點(diǎn)。對(duì)于給定的采用”yyyy/mm/dd”加24小時(shí)制(用短橫線”-”連接)來(lái)表示日期和時(shí)間的字符串,請(qǐng)編程實(shí)現(xiàn)將其轉(zhuǎn)換成”mm/dd/yyyy”加12小時(shí)制格式的字符串。
Input
第一行為一個(gè)整數(shù)T(T<=10),代表總共需要轉(zhuǎn)換的時(shí)間日期字符串的數(shù)目。接下來(lái)的總共T行,每行都是一個(gè)需要轉(zhuǎn)換的時(shí)間日期字符串。
Output
分行輸出轉(zhuǎn)換之后的結(jié)果Sample Input
2 2009/11/07-12:12:12 1970/01/01-00:01:01Sample Output
11/07/2009-12:12:12pm 01/01/1970-12:01:01amHint
注意中午和凌晨時(shí)間的特殊表示問(wèn)題鏈接:POJ3751 時(shí)間日期格式轉(zhuǎn)換。
問(wèn)題簡(jiǎn)述:參見(jiàn)上述鏈接。
問(wèn)題分析:簡(jiǎn)單的日期時(shí)間轉(zhuǎn)換,有計(jì)算,有格式轉(zhuǎn)換。
程序說(shuō)明:程序需要寫(xiě)的簡(jiǎn)潔規(guī)范。
AC的C語(yǔ)言程序如下:
/* POJ3751 時(shí)間日期格式轉(zhuǎn)換 */#include <stdio.h>char *sampm[] = {"am", "pm"};int main(void) {int t;int year, month, day, hour, minute, second;int ampm;scanf("%d", &t);while(t--) {// 輸入日期和時(shí)間scanf("%d/%d/%d-%d:%d:%d", &year, &month, &day, &hour, &minute, &second);// 小時(shí)換算if(hour >= 12)ampm = 1;elseampm = 0;if(hour == 0)hour = 12;else if(hour > 12)hour -= 12;// 輸出結(jié)果printf("%02d/%02d/%04d-%02d:%02d:%02d%s\n", month, day, year, hour, minute, second, sampm[ampm]);}return 0; }
轉(zhuǎn)載于:https://www.cnblogs.com/tigerisland/p/7564628.html
總結(jié)
以上是生活随笔為你收集整理的POJ3751 时间日期格式转换【日期计算】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CSS 特殊性、继承与层叠
- 下一篇: 稍微成型点的用WEBSOCKET实现的实