php 24小时格式的日期转换为12小时的日期

今天下午做一个商城站,用到限时秒杀的功能。需要一个js选择时间的插件,从网上down了一个,插件是选择到秒的,24小时制。需要把

转换为12小时制的。本来使用的是 strtotime 函数,但是发现24小时制的字符串在使用这个函数转换为时间戳的时候会强制转换为12小时制的上午的格式,这样,只要用这个插件选择了超过十二点的时间,就会出现错误。所以,要做的就是把24小时的时间转换为12小时制的时间。

经测试,要时间格式,需要先创建一个 DateTime 时间对象。方法为

然后,使用

将日期对象转换为想要的格式,就OK了。这个函数直接转换字符串是不行的。这也是我刚开始一直转换失败的原因。

具体过程为:

其中,data数组的start_time参数为传递过来的时间格式的字符串。

tips:在解决时间戳问题的时候,原来转换时,还遇到了一个问题,就是误将date参数设置为 Y-m-d h:m:s

结果在上传之后,发现时间一直有错误。后来才发现,分钟误设置为了m,而m在date中表示的是月份。

但是在请教同事的时候,同事说,m参数在这种情况

也就是不显示年月,只显示时分秒的时候用m是可以代表分钟的。但是经过测试,并不是这样。在这种情况下,时间戳的转换依然会出现原先的错误。

所以得出结论,m只可以作为月的参数在这个函数中使用。

tips:strtotime函数可以将字符串格式的时间转换为时间戳。如果传入了下午的时间,需要将上午下午的信息放在最后。

即可。

至于DateTime对象有没有办法转换为时间戳的方法?有,感觉那个函数格式有点麻烦,就未尝试使用。

时间: 2024-08-11 23:31:39

php 24小时格式的日期转换为12小时的日期的相关文章

convert time-24小时制转换为12小时制

convert time-24小时制转换为12小时制,允许重复计算: //convert time #include<iostream> using namespace std; void get_time(int& hours,int& minutes); void convert_time(int& hours,char& ampm); void show_time(int hours,int minutes,char ampm); int main() {

C#时间格式转换问题(12小时制和24小时制)

string time = Convert.ToDateTime(date).ToString("yyyy-MM-dd HH:mm");//24小时 string time = Convert.ToDateTime(date).ToString("yyyy-MM-dd HH:mm");//12小时 问题源于:

Json格式的字符串转换为正常显示的日期格式

//返回自定义格式日期: 2015-07-17 13:53:37function ChangeDateFormat(jsondate) { jsondate = jsondate.replace("/Date(", "").replace(")/", ""); if (jsondate.indexOf("+") > 0) { jsondate = jsondate.substring(0, jsond

日期12小时 || 24小时制切换

SimpleDateFormat 12小时制和24小时制的区别是大写为24小时制,小写为12小时制. 使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日: 如果希望格式化时间为12小时制的,则使用hh:mm:ss: 而如果希望格式化时间为24小时制的,则使用HH:mm:ss: 代码如下: Date date = new Date(); //12小时制 SimpleDateFormat sdformat12 = new SimpleDateFormat("yyyy-

将12小时制改为24小时制

如果不是做项目遇到,我大概永远都不会知道12小时制的上午12点就是夜里零点,囧~(个人习惯24小时制) 首先区分12小时制和24小时制的对应关系,以下按照时间顺序列出了几个关键的时间点: 12小时制 24小时制 上午12:00 0:00 上午12:30 0:30 上午1:00 1:00 -- -- 上午11:59 11:59 下午12:00 12:00 下午12:59 12:59 下午1:00 13:00 -- -- 下午11:59 23:59 上午12:00 0:00 以下代码实现了两种时间之

Java 毫秒转换为日期类型、日期转换为毫秒

//毫秒转换为日期 public static void main(String[] args) {DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); long now = System.currentTimeMillis(); Calendar calendar = Calendar.getInstance();calendar.setTimeInMillis(now); System.out.pri

被攻击还是误操作?携程网瘫痪12小时背后

"service unavailable"(无法提供服务)"""404错误"(网页不存在)"--5月28日上午11:09左右,携程网官网和携程旅行APP突然陷入瘫痪,打开主页面后其功能和其它链接均无法使用,百度搜索携程官网页面也无法显示,让一大批着急出游预订的网友手足无措. 事件发生后不久,携程网首页将用户分流给其旗下的艺龙旅行网,导致艺龙也不堪压力,当天下午5点多,艺龙官网的首页也出现了短时间的瘫痪,页面一片空白. 一时间,被&quo

12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置

我正在使用的NSDate对象,和好了,我的iPhone与24小时格式,所以当我在测试我的应用程序,一切正常,但是,我的一个朋友试图在他的iPhone上的应用程序 CodeGo.net,但12小时格式,经过研究,我发现该问题是日期,而我不知道为什么 这个设置日期选择器和一个选择器,所以我从数据库中读取的值(是的,我已经检查了值,它们是正确的,它不是一个价值的问题),所以所有的数据被格式化,并放在一起作为一个NSDate的,然后,我设置的日期选择器和选择器与我刚刚创建的这个日期 NSDateForm

ios 在中国地区,24小时时间格式 系统设定下 获得12小时制时间的方法

如题,在中国地区,24小时时间格式 系统设定下,如果单单使用 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 之后,无论用hh 还是用K,都无法取得12小时制的时间,都是24小时的. 需要加上一条设定 formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];