小编JAC*_*JAC的帖子

有没有一种简单的方法可以使用moment.js将十进制时间(例如1.074分钟)转换为mm:ss格式?

我想知道是否有一种简单的方法,使用moment.js库,将十进制时间间隔(例如,1.074分钟)转换为等效的'mm:ss'值.我目前正在使用一个功能,它在负时间内不能很好地工作(它输出'-m:ss'格式的值):

function secTommss(sec){
 var min = Math.floor(sec/60)
 sec = Math.round(Math.abs(sec) % 60);
 return min + ":" + (sec < 10 ? "0" + sec : sec)
}
Run Code Online (Sandbox Code Playgroud)

javascript momentjs

8
推荐指数
2
解决办法
1万
查看次数

如何避免ProgrammingError:在将Django模型实例保存到远程数据库时,无法调整类型'DateTimeRangeField'?

我有一个包含DateTimeRangeField的模型,如https://docs.djangoproject.com/en/1.8/ref/contrib/postgres/fields/#defining-your-own-range-types中所述,见下文:

models.py

from django.db import models
from django.contrib.postgres.fields import DateTimeRangeField, RangeField

class ReportPeriod(models.Model):
  id = models.IntegerField(primary_key=True)
  period_name = models.TextField(blank=True)
  active_range = DateTimeRangeField(blank=True) 
  class Meta:
    managed = False
    db_table = 'report_period'
Run Code Online (Sandbox Code Playgroud)

当我使用它来查询远程数据库时(例如ReportPeriod.objects.using('remote_db').filter(id='1',active_range__contains=datetime.now())返回预期的QuerySet),该模型工作正常.

但是,当我尝试在我的视图或shell中保存新的ReportPeriod时,我得到了一个ProgrammingError: can't adapt type 'DateTimeRangeField'.以下是我在获取错误之前在shell中执行的步骤:

new_period = ReportPeriod(id=1,period_name = 'morning',active_range = DateTimeRangeField(datetime(2015,1,1,0,0,0),datetime(2016,1,1,0,0,0)))
new_period.save(using='remote_db')
Run Code Online (Sandbox Code Playgroud)

这是整个错误跟踪:

Traceback (most recent call last):
 File "<console>", line 1, in <module>
 File "~/.virtualenvs/mve/lib/python2.7/site-packages/django/db/models/base.py", line 710, in save
force_update=force_update, update_fields=update_fields)
 File "~/.virtualenvs/mve/lib/python2.7/site-packages/django/db/models/base.py", line 738, in save_base
updated = self._save_table(raw, cls, …
Run Code Online (Sandbox Code Playgroud)

python django postgresql range

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

使用IntentFilter的Intend.ACTION_PACKAGE_REPLACED的BroadcastReceiver无法在服务中运行

我正在尝试设置一项服务,以检查何时在设备中安装了新的活动更新.我已经在应用程序活动中完成了这一操作Broadcastreceiver,在清单中声明它并且它完美地运行.

但是,当我尝试在服务中运行该接收器并动态声明它时,我onReceive永远不会被调用.这是我的服务代码:

public class UpdateService extends Service {    
 private static String mPackage = "com.my.package";
 private static String mActivityName = "myActivity";
 private BroadcastReceiver mUpdateReceiver; 

 @Override
 public void onCreate() {
  super.onCreate();
  mUpdateReceiver = new BroadcastReceiver() {

   @Override
   public void onReceive(Context context, Intent intent) {
    Log.d("mTag","In the BroadcastReceiver onReceive()");
    if (intent.getAction().equalsIgnoreCase(Intent.ACTION_PACKAGE_REPLACED)) {
     // Log that a new update is has been found
     Log.d("mTag","New version of the app has been installed.");
     Log.d("mTag", "Intent data: " + intent.getDataString());
     Log.d("mTag","My package: " …
Run Code Online (Sandbox Code Playgroud)

android android-service

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

是否有一种优雅和pythonic的方式来要求类构造函数的输入?

我一直在寻找python中类初始化的几个帖子(例如Ref1,Ref2,Ref3),但我找不到是否需要某些输入的干净方法.如果不包含参数,那么制作命名参数的最佳方法是什么,并抛出一致的异常?

我希望requireadd_argument()方法的参数中具有类似的功能ArgumentParser.

python initialization class

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