Stackoverflow社区最近我有着独特的经历。被谷歌,试错了几个小时,但仍然没有找到解决办法。输入和期望的输出实际上很简单,但很棘手,我只是不知道如何正确地编写代码。
好吧,我会定义要求的。
解释和要求:
这个月格式类似于日期格式,但是脚本通常使用日期格式,而不是使用月份格式。这让我好奇,我好奇为什么。
实验:
对于基本输入类型月份,我使用此脚本。
<input type="month" name="monthTransaction" value="<?php echo date("Y-m") ?>"/>然后我试着用这样的方法来回音。
$month = mysql_real_escape_string($_POST['monthTransaction']);
$newmonth = date('Y-m', strtotime(str_replace('-', '/', $tr)));
echo $month; // Probably STRING format (i need further explanation)
echo $newmonth; // Probably DATE format (i need further explanation)这毕竟是行不通的。但我尝试了输入字段的日期类型,它的工作。带有日期类型格式的回显精细。
从这段代码中,我了解到实际上strtotime并不是将日期转换为字符串。我不太了解它,但它可以很好地(可以回显)的日期格式,但不是月格式。
如果您能告诉我如何将月份输入类型转换为STRING,那就太棒了,因为我可以从中学习。
期望输出:
=========================================================
第二个问题(从输入值减去一个月) :
事实上,这是另一个与此相关的问题。
第二个问题解释和要求:
第二个问题期望输出:
日期格式是普通的,但月格式似乎挑战我。有人知道怎么解决这个问题吗?就像我说的,简单但棘手。顺便说一句,谢谢你。
发布于 2016-07-28 08:50:26
您可以使用DateTime类
$month = mysql_real_escape_string($_POST['monthTransaction']);
$temp = new DateTime($month.'-01');
$newmonth = $temp->format('Y-m');
$newMonthName = $temp->format('F Y');
$newMonthMinusOne = $temp->sub(new DateInterval('P1D'))->format('Y-m');
$newMonthMinusOneName = $temp->sub(new DateInterval('P1D'))->format('F Y');输入“2016-07”的值(所有字符串)为:
https://stackoverflow.com/questions/38631199
复制相似问题