小编jim*_*ner的帖子

掩盖java中的信用卡号码

我试图使用字符'X'掩盖信用卡号码字符串中的字符.我写了两个函数如下.第二个函数使用commons.lang.StringUtils类.我试图找到两种情况下的时间

public static String maskCCNumber(String ccnum){
        long starttime = System.currentTimeMillis();
        int total = ccnum.length();
        int startlen=4,endlen = 4;
        int masklen = total-(startlen + endlen) ;
        StringBuffer maskedbuf = new StringBuffer(ccnum.substring(0,startlen));
        for(int i=0;i<masklen;i++) {
            maskedbuf.append('X');
        }
        maskedbuf.append(ccnum.substring(startlen+masklen, total));
        String masked = maskedbuf.toString();
        long endtime = System.currentTimeMillis();
        System.out.println("maskCCNumber:="+masked+" of :"+masked.length()+" size");
        System.out.println("using StringBuffer="+ (endtime-starttime)+" millis");
        return masked;
    }

    public static String maskCCNumberCommons(String ccnum){
        long starttime = System.currentTimeMillis();
        int total = ccnum.length();
        int startlen=4,endlen = 4;
        int masklen = total-(startlen + …
Run Code Online (Sandbox Code Playgroud)

java masking apache-commons-lang

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

如何在django模板中减去两个datetime.time值,以及如何将持续时间格式化为小时,分钟

在django应用程序中,我向Entry模板发送一个对象列表.每个Entry对象都有一个开始,结束时间是datetime.time值(来自TimeFields表单).在列出Entry对象时,我需要显示持续时间每个条目.在模型中输入一个持续时间字段似乎是简化的,因为开始和结束时间已经存在

模型

class Entry(models.Model):
    title = models.CharField(unique=True,max_length=50)
    starttime=models.TimeField(null=True)
    endtime=models.TimeField(null=True)
...
Run Code Online (Sandbox Code Playgroud)

模板

{% for entry in object_list %}
<tr> 
  <td> {{entry.title}} </td>
  <td> {{entry.starttime}}</td>
  <td> {{entry.endtime}}</td>
  <td> want to show duration here </td>
{%endfor %}
Run Code Online (Sandbox Code Playgroud)

1.是否有任何过滤器可以采用两个datetime.time值并以秒为单位计算持续时间.即

given
 t1=datetime.time(2,30,50) and
 t2=datetime.time(3,00,50)
should show
30 minutes
Run Code Online (Sandbox Code Playgroud)

2.此外,是否有过滤器,如果分钟值大于60,则可以在给定的分钟数中显示持续时间,以小时,分钟为单位

if duration is 50 minutes ==> 50 minutes
if duration is 150 minutes ==> 2 hours,30 minutes
Run Code Online (Sandbox Code Playgroud)

更新

def diff_in_time(start,end):
    startdelta=datetime.timedelta(hours=start.hour,minutes=start.minute,seconds=start.second)
    enddelta=datetime.timedelta(hours=end.hour,minutes=end.minute,seconds=end.second)
    return (enddelta-startdelta).seconds/60
Run Code Online (Sandbox Code Playgroud)

当我尝试一些采样时间值时,它给了我预期的结果

#start 11:35:00 …
Run Code Online (Sandbox Code Playgroud)

python django filter

7
推荐指数
2
解决办法
9212
查看次数

python日志记录如何创建日志文件为html

我在维基百科中读到python日志模块的灵感来自log4j.在log4j中,有一个HTMLLayout可以用html创建日志文件.在python日志中有没有这样的工具?或者有谁知道如何将日志输出格式化为html文件?

html python format logging

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

正确实现dao类来管理事务

我正在研究一个通过hibernate调用数据库后端的java Web应用程序.我使用servlets,jsp和tomcat进行测试/部署.大多数java-ee书籍建议使用Dao类进行数据库调用.根据书中给出的示例(Hibernate Recipes)作者:Gary Mak),我创建了一个通用基类和一个特定的子类,如下所示.

class BaseDao{
   private Class persistentClass;
   public BaseDao(Class persistentClass) {
        super();
        this.persistentClass = persistentClass;
    }
   public Object findById(Long id) {
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session session = factory.openSession();
        Object object = null;
        try {
            object = (Object) session.get(persistentClass, id);
            return object;
        }
        finally {
            session.close();
        }
    }

    @Override
    public void saveOrUpdate(Object obj) {
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session session = factory.openSession();
        Transaction tx = null;
        try {
        tx = session.beginTransaction();
        session.saveOrUpdate(obj);          
        tx.commit();
        }catch(HibernateException e){
            if …
Run Code Online (Sandbox Code Playgroud)

java dao hibernate transactions

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

不能==使用而不是一元&来检查两个值是否相等

最近我在一本书中遇到了一个代码片段,它Boolean为这样的字段设置了一个值

输入identifier是一个ListString小号

if (identifier.size() >= 2) {
    int c = Integer.parseInt(identifier.get(1));
    bulk = (c & 4) == 4;
    hazardous = (c & 2) == 2;
    toxic = (c & 1) == 1;
}
Run Code Online (Sandbox Code Playgroud)

这里对一元和操作者的需求是什么?不能用简单的 c==4等代替(c & 4)== 4吗?

java boolean bit-manipulation operator-keyword

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