小编Ala*_*lan的帖子

Javascript中的日期差异(忽略时间)

我正在编写一个设备租赁应用程序,根据租赁期限(以天为单位),客户需要支付租用设备的费用.所以,基本上,(每日费用*天数)=总费用.

对于客户端的即时反馈,我正在尝试使用Javascript来计算两个日历日期的差异.我一直在四处寻找,但我发现的并不是我想要的.我见过的大多数解决方案都是以下形式:

function dateDiff1(startDate, endDate) {
    return ((endDate.getTime() - startDate.getTime()) / 1000*60*60*24);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,设备可以在这两个日期的任何时间检查并退回,无需额外费用.以上代码计算两个日期之间24小时的时间段,当时我真的对日历天数感兴趣.

例如,如果有人在7月6日早上6点检查了设备并在7月7日晚上10点将其退回,则上述代码将计算超过一个24小时的时间段,并且将返回2.所需的结果为1,因为仅已经过了一个日历日期(即第6到第7日).

我发现的最接近的解决方案是这个功能:

function dateDiff2(startDate, endDate) {
    return endDate.getDate() - startDate.getDate();
}
Run Code Online (Sandbox Code Playgroud)

只要这两个日期在同一个月内,这就完全符合我的要求.但是,由于getDate()仅返回月中的日期(即1-31),因此当日期跨越多个月时(例如,7月31日至8月1日为1天,但上述计算为1 - 31,或者-29).

在后端,在PHP中,我正在使用gregoriantojd(),这似乎工作得很好(参见这篇文章的一个例子).我只是在Javascript中找不到等效的解决方案.

有人有主意吗?

javascript date

54
推荐指数
6
解决办法
7万
查看次数

何时使用IntentSender与PendingIntent?

Android文档描述了这两个类PendingIntentIntentSender类,但是不清楚何时或为什么要使用IntentSenderover PendingIntent- 实际上大部分描述对于两者都是相同的.

PendingIntent文档:

要对其执行的Intent和目标操作的说明.使用(...)创建此类的实例; 返回的对象可以交给其他应用程序,以便他们可以在以后代表您执行您所描述的操作.

IntentSender文档:

要对其执行的Intent和目标操作的说明.返回的对象可以交给其他应用程序,以便他们可以在以后代表您执行您所描述的操作.

这两个类都是,Parcelable并且这两个类允许接收器使用sendsendIntent(具有几乎相同的签名)调用动作.

既然你需要一个现有的PendingIntent来创建一个IntentSender,你在什么情况下想要创建一个IntentSender而不仅仅是使用你的PendingIntent

android android-pendingintent

9
推荐指数
1
解决办法
820
查看次数

在HTML Adob​​e AIR应用程序中加载Facebook ActionScript库

我正在使用普通HTML编写Adobe AIR应用程序,需要将照片上传到Facebook.我不认为Facebook的JavaScript/Connect库包含照片上传功能,但他们的ActionScript库却有.但是,我在将ActionScript库加载到HTML页面时遇到问题.

Adobe的文档描述了将ActionScript库加载到HTML AIR应用程序的过程,我尝试使用此处提供的已编译Flash库(特别是Facebook_library_with_AIRConnect_v3.4_flash.swc).所以我的页面看起来像:

<html> 
<head> 
    <title>Hello World</title>
    <script src="Facebook_library_with_AIRConnect_v3.4_flash.swc" type="application/x-shockwave-flash"></script>
    <script type="text/javascript"> 
        // code here...
    </script>
</head> 
<body>
    <div>content here...</div>
</body> 
</html>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试实际创建一个对象时,似乎无法找到该类:

var fb = new window.runtime.com.facebook.Facebook();
// TypeError: Value  is not a constructor. Cannot be used with new.
Run Code Online (Sandbox Code Playgroud)

我不确定这里出了什么问题,但我有几个想法:

  • 我编译的库文件使用的是错误的(我需要.swf而不是.swc)吗?
  • 如果是这样,我是否需要从ActionScript源以某种方式创建自己的编译库?
  • 我使用的命名空间是不正确的?(除了com.facebook.Facebook()我试过.Facebook(),. fb.Facebook(),. facebook.Facebook()等)
  • 我应该放弃并尝试学习Flex吗?

任何帮助/见解将不胜感激!

javascript air actionscript facebook

1
推荐指数
1
解决办法
935
查看次数