以String格式创建当前日期,并在Apex中将其解析为字符串

时间:2017-03-17 12:49:30

标签: salesforce apex

目标:

  1. 我需要先创建一个表示当前日期的字符串。
  2. 之后需要解析此String并用于构建Date类的实例。
  3. 初步尝试:

    在我的测试类中,我以下列方式为我测试的方法创建一个当前日期作为String输入:

    String inputDate = date.today().format(); // 13:28:15:378 USER_DEBUG [24]|DEBUG|17.3.2017
    

    但是,当我尝试创建一个Date对象的实例时:

    Date dateFromInput = date.valueOf(inputDate);
    

    我收到以下错误:

    13:28:15:398 FATAL_ERROR System.TypeException: Invalid date: 17.3.2017
    

4 个答案:

答案 0 :(得分:1)

import io import time import picamera import cv2 import numpy as np from PIL import Image import argparse # Create the in-memory stream stream = io.BytesIO() with picamera.PiCamera() as camera: camera.start_preview() time.sleep(2) camera.capture(stream, format='jpeg') start_time =time.time() # Construct a numpy array from the stream data = np.fromstring(stream.getvalue(), dtype=np.uint8) # "Decode" the image from the array, preserving colour image = cv2.imdecode(data, 1) # OpenCV returns an array with data in BGR order. If you want RGB instead # use the following... image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) blurred = cv2.GaussianBlur(image, (7, 7), 0) edged = cv2.Canny(blurred, 255, 255) cnts= cv2.findContours(edged.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) print (time.time()-start_time) im=Image.fromarray(edged.astype(np.uint8)) im.save("test10.jpg") 将以登录用户的当前本地日期格式返回字符串。

Date.format()需要本地时区格式Date.valueOf的输入字符串。

下面应该有效:

yyyy-MM-dd HH:mm:ss

答案 1 :(得分:1)

以下代码

((DateTime)Dob).format('YYYY-MM-dd')

只是作品

答案 2 :(得分:0)

In the documentation, there is a difference between the parse and valueOf Date methods that escaped me:

<强>解析(stringDate) 从字符串构造日期。 String的格式取决于本地日期格式。

<强>的valueOf(stringDate) 返回包含指定String值的日期。

我想要的是解析:

String inputDate = date.today().format(); /
Date dateFromInput = date.parse(inputDate);

答案 3 :(得分:0)

您可以尝试Moment.apex。这是link

Datetime dt = new Moment('2018/01/12 10:00:00', 'yyyy/MM/dd HH:mm:ss').toDatetime();