因此,我正在尝试以一种用户友好的方式确定到达约会时间的时间长度。
例如,假设当前日期时间为2018-09-10 12:00:00
,最终目标为2019-11-10 12:00:00
,我只想回显 1 Year ,或者说它为2018-09-10 13:30:00
如果时间少于一分钟,请回声 1小时,只需说1分钟即可。
我真的很难找到任何资源来描述如何轻松地做到这一点,而又不会产生大量if语句。
答案 0 :(得分:4)
使用DateTime
类将日期字符串转换为php对象。然后使用
DateTime::diff()
方法来获取两个日期的差值。另外,您还需要检查 --------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.blue, PID: 6726
java.lang.IllegalArgumentException: Given String is empty or null
at com.google.android.gms.common.internal.zzbo.zzcF(Unknown Source:11)
at com.google.firebase.auth.PhoneAuthCredential.<init>(Unknown Source:3)
at com.google.firebase.auth.PhoneAuthProvider.getCredential(Unknown Source:2)
at com.example.android.bluesky.SetupAccount.PelephoneActivity.verifyCode(PelephoneActivity.java:176)
at com.example.android.bluesky.SetupAccount.PelephoneActivity.access$900(PelephoneActivity.java:52)
at com.example.android.bluesky.SetupAccount.PelephoneActivity$2.onClick(PelephoneActivity.java:150)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25885)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
,year
,month
,day
,hour
和minute
的值以返回预期结果。
second
在demo中查看结果
答案 1 :(得分:0)
我强烈建议您使用Carbon
的diffForHumans
metod。通过将所有与日期相关的操作都运用到Carbon
,只需使您的生活更轻松。
答案 2 :(得分:0)
实际上,这很容易。如果使用的是SQL,则可以使用DATEDIFF并使用date_format()格式化结果。
如果您只是使用php,则必须在两个日期中创建一个新的DateTime()对象。然后,您应该可以使用DateInterval()减去这两个日期。
例如:
$date1 = new DateTime($your1stDate);
$date2 = new DateTime($your2ndDate);
$result = $date1->diff($date2);
echo date_format($result,'Y-m-d h:m.s'); // or something like that